我正在为企业开发应用程序,将在没有显示器和Android 11的自定义硬件设置中使用。现在我正在有显示器的智能手机上调试应用程序(智能手机将在未来用作平台,但没有显示器)。安卓在启动后台使用摄像头或麦克风的前台服务时有一个限制(https://developer.android.com/guide/components/foreground-services#access-restrictions),所以我被困在这里了。
有没有办法在没有任何用户交互的情况下启动这项服务?也许设备策略控制器提供了一种方法来消除这种限制?
谢谢。
另外,App提供了生命安全功能,用户知道拍摄并直接接受,app还通过文本到语音通知通知用户,所以伦理方面在这里是可以的。
发布于 2021-03-24 17:35:39
有没有办法在没有任何用户交互的情况下启动这项服务?也许设备策略控制器提供了一种方法来消除这种限制?
是。您可以启动前台服务,而无需用户交互。您可以使用AlarmManager安排您的前台服务在某个时间启动,或者使用WorkManager安排您的前台服务在某个时间启动,或者使用FCM远程启动它,甚至使用BroadCastReceiver基于某些事件启动它。
要在android O及更高版本中启动前台服务,您必须开始显示通知,并在清单和运行时指定前台服务类型。例如,在工作管理器中,it will be like this。
如果您需要录制前台服务的视频,您可以根据您的目标安卓版本使用Camera或Camera2。还有一些我在前台服务中没有使用的CameraX。
要在启动时启动你的应用,你可以使用BOOT_COMPLETED broadCastReceiver。我希望这对你有帮助。
https://stackoverflow.com/questions/66777013
复制相似问题