我们的应用程序作为后台服务运行,不断从正面相机获取图像,然后处理图像.但是,当用户尝试打开另一个使用相机的应用程序时,会发生两件事:新应用程序崩溃,我们的应用程序崩溃,或者我们的崩溃和新的崩溃都可以访问摄像头.
现在,如果我们的应用程序失去了对摄像头的控制权,那么我们可以捕获一个例外,然后我们可以开始尝试访问它,直到我们获得访问权限并且事情恢复正常.
问题是当其他应用程序因我们的而崩溃时.有没有办法检测到这一点,所以我们可以暂停我们的应用程序,直到我们可以再次访问相机?
解决方法
这是因为相机是独家资源.
我建议你阅读Camera documentation,其中说:
If your application does not properly release the camera,all subsequent attempts to access the camera,including those by your own application,will fail and may cause your or other applications to be shut down.