即使应用程序处于 background/exit,如何让 CameraManager.AvailabilityCallback 持续存在

How to get CameraManager.AvailabilityCallback to persist even if app is in background/exit

我正在尝试根据 Android API 21+ 中的共享偏好检测相机 openings/availability。

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

用户打开应用,设置他们是否希望应用track/detect使用相机。 设置将保存为共享首选项。

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

但我希望相机可用性的回调即使在应用 close/exit/reboot 之后仍然存在。

直到用户更改设置。

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

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

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

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

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

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