首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从在Android 11上后台启动的前台服务中打开摄像机

从在Android 11上后台启动的前台服务中打开摄像机
EN

Stack Overflow用户
提问于 2021-05-20 09:41:23
回答 1查看 882关注 0票数 1

基于https://developer.android.com/guide/components/foreground-services#bg-access-restriction-exemptions,我们只能在前台服务中开始使用照相机,而不启动应用程序(使其可见),如果:

服务由系统组件启动。服务是通过与应用程序小部件交互启动的。服务是通过与notification.

  • The服务交互启动的,从不同的可见应用程序发送的PendingIntent启动。服务是由运行在设备所有者模式下的设备策略控制器的应用程序启动的。

H 112服务由具有VoiceInteractionService.

  • The特权权限的应用程序启动。H 215F 216

在我的情况下,我需要在没有用户交互和设备屏幕关闭的情况下在后台打开相机,在我理解的情况下,只有在以下情况下才有可能:

服务是由系统component.

  • The服务启动的,是由一个以设备所有者模式运行的设备策略控制器的应用程序启动的。

  • 是由具有START_ACTIVITIES_FROM_BACKGROUND特权权限的应用程序启动的。

系统组件--虽然我想这个组件也不适合开发人员,因为它意味着一个系统应用-系统组件?

另外,对于START_ACTIVITIES_FROM_BACKGROUND,一个普通的应用程序能否拥有这个权限,如何授予它呢?在Android网站上找不到关于这个的任何信息。

如果它也只适用于系统应用程序,那么唯一的选择是设备策略控制器从前台服务打开摄像头,而前台服务是在Android 11+的后台启动的?

附注:如果有人感兴趣,为什么需要这样的功能。这是仪表板相机应用程序所需要的。用户的车里有一部智能手机,例如,当他们打开手机(如果没有电源的话),他们想要在没有互动的情况下自动启动视频记录。

所以在所有情况下,它都会自动记录,就像一个真正的仪表盘

但是Android 11带来了这些限制..。

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 08:38:48

在Android 11和更高版本中,这似乎不再可能了(理由很充分!)只要设备连接到carkit或car收音机(通过蓝牙,您可以注册一个使用动作BroadcastReceiver收听意图的ACTION_ACL_CONNECTED),就可以发布一个本地通知。用户可以启动前台服务,然后通过与通知交互。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67617856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档