检测另一个应用程序何时尝试使用相机

And*_*dnA 6 android android-camera

我们的应用程序作为后台服务运行,不断从前置摄像头获取图像,然后对图像进行处理。然而,当用户尝试打开另一个使用相机的应用程序时,会发生两件事:要么新应用程序崩溃而我们的应用程序继续运行,要么我们崩溃而新应用程序可以访问相机。

现在,如果我们的应用程序失去对相机的控制,我们可以捕捉到一个异常,然后我们可以开始尝试访问它,直到我们获得访问权限并且一切恢复正常。

问题是当其他应用程序因为我们的而崩溃时。有没有办法检测到这一点,所以我们可以暂停我们的应用程序,直到我们可以再次访问相机?

Jea*_*tor 0

发生这种情况是因为相机是专有资源。

我建议您阅读相机文档,其中说:

如果您的应用程序未正确释放相机,则所有后续访问相机的尝试(包括您自己的应用程序的尝试)都将失败,并可能导致您或其他应用程序被关闭。

  • @drew 我们的应用程序可以监控驾驶员,分析面部,并在驾驶员分心或睡觉时触发警告。司机可能想检查时间或接听电话,但我们的应用程序必须继续运行,否则我们将迫使他每次完成导致其暂停的操作后重新启动我们的应用程序。因此它在后台运行,始终分析并始终使用相机。但是,如果驾驶员决定使用摄像头(他在驾驶时确实不应该这样做,但这不在我们的控制范围内),那么我们必须暂停我们的应用程序。 (2认同)
  • @JeanVitor,问题是关于检测另一个应用程序何时尝试打开我们的应用程序当前正在使用的相机。 (2认同)