android - 即使应用程序处于后台/退出状态,如何让 CameraManager.AvailabilityCallback 持续存在
问题描述
我正在尝试根据 Android API 21+ 中的共享偏好来检测相机的打开/可用性。
基本上,程序的流程是这样工作的:
用户打开应用程序,设置他们是否希望应用程序跟踪/检测相机使用情况。设置将保存为共享首选项。
比基于这个共享偏好,我会注册相机可用性。
但我希望即使在应用程序关闭/退出/重新启动后,相机可用性的回调也能持续存在。
直到用户更改设置。
到目前为止,我只能在我的活动中注册回调,只要应用程序在前台,它就可以正常工作。
我打算使用前台服务来注册回调,但认为它可能不是最佳解决方案。
除了使用前台服务,还有没有更好的解决方案?
编辑的原因:添加了目标版本。
解决方案
- 后台摄像头跟踪在 Android P 及更高版本中不起作用(出于安全原因)
- 如果没有前台服务,您的最小化应用程序可能随时被终止,因此即使有可能,它也不会持续很长时间
所以我想使用前台服务是唯一的选择
推荐阅读
- machine-learning - 在急切执行中应用梯度后的Tensorflow 2二阶导数
- mongodb - MongoDB:: MultiKey 字段的高效复合索引与排序
- c++ - Windows API 定时器队列和线程安全问题
- c - 快点?许多小 I/O 还是一个大 I/O?
- specflow - 无法在代码中获得正确的 SpecFlow+ 目标值
- java - 重载子类的构造函数
- css - 如何用图像填充形状?
- php - Laravel 5.8通过mailgun发送邮件不起作用
- c - getchar() 在创建字符串数组时不读取空格?
- jquery - 语义-ui:获取下拉列表的值以发送到 api