首页 > 解决方案 > 即使应用程序处于后台/退出状态,如何让 CameraManager.AvailabilityCallback 持续存在

问题描述

我正在尝试根据 Android API 21+ 中的共享偏好来检测相机的打开/可用性。

基本上,程序的流程是这样工作的:

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

比基于这个共享偏好,我会注册相机可用性。

但我希望即使在应用程序关闭/退出/重新启动后,相机可用性的回调也能持续存在。

直到用户更改设置。

到目前为止,我只能在我的活动中注册回调,只要应用程序在前台,它就可以正常工作。

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

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

编辑的原因:添加了目标版本。

标签: androidandroid-serviceandroid-camera2

解决方案


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

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


推荐阅读