【发布时间】:2014-11-04 11:39:59
【问题描述】:
在我们的应用中,我们使用相机扫描二维码。我在开发控制台上遇到了几次崩溃,提示“无法连接到相机服务”。阅读周围我发现有可能另一个应用程序打开了相机并且没有调用 release() onPause (我测试了这可以通过一个行为类似这样的简单应用程序来实现)。我已经为用户发出错误消息而不是崩溃,但是我想将用户指向阻止访问相机的应用程序。这样的事情是否可能,或者我能做的最好的事情是“请退出任何可能正在使用相机的应用程序并重试”?
【问题讨论】:
-
只要释放相机服务并重新打开它
-
如何释放我没有锁定的东西?为了澄清,我有我们的应用程序,然后是一个简单的测试应用程序,它有两个按钮——一个调用 mCamera = Camera.open(),另一个调用 mCamera.release()。我打开测试应用程序,锁定/打开相机,然后打开我们的应用程序(完全不同的应用程序)并尝试访问相机,但它失败了。我无法在我们的应用程序中调用 mCamera.release(),因为 mCamera 为空(因为 mCamera = Camera.open() 失败)。
-
然后您可以抛出异常并向用户显示错误以关闭相机意图,但似乎无法显示当前正在使用相机服务的应用程序
-
是的,这就是我现在所拥有的。我只是想知道我是否可以比“某些应用程序正在使用相机”更具体。感谢您的帮助。
-
乐于助人 :) 祝你好运