即使应用程序在后台/退出,如何使CameraManager.AvailabilityCallback保持不变

时间:2018-12-26 03:50:51

标签: android android-service android-camera2

我正在尝试基于Android API 21+中的共享首选项来检测相机的开度/可用性。

基本上,程序流将按以下方式工作:

用户打开的应用程序,设置是否希望应用程序跟踪/检测相机使用情况。 设置将另存为共享首选项。

基于此共享的首选项,我将注册摄像机的可用性。

但是我希望即使在应用关闭/退出/重新启动后,相机可用性的回调仍然存在。

在用户更改设置之前。

到目前为止,我只能在我的活动中注册回调,只要该应用位于前台,此方法就可以正常工作。

我打算使用前台服务注册回调,但认为这可能不是最佳解决方案。

除了使用前台服务之外,还有更好的解决方案吗?

修改原因: 添加了目标版本。

1 个答案:

答案 0 :(得分:2)

  1. 背景摄像头跟踪在Android P及更高版本中不起作用(出于安全原因)
  2. 没有前台服务,最小化的应用程序可以随时被杀死,因此即使有可能,它也不会持续很长时间

所以我想使用前台服务是唯一的选择