如何解决Android 11中的后台麦克风访问引发异常
通过Microphone
中的Android应用程序对Android 11
的后台访问在Logcat中引发以下异常:
W/ActivityManager: Foreground service started from background can not have location/camera/microphone access
相同的代码可在Android 10及更低版本中完美运行。如何解决?
解决方法
在Android 11
文件中,需要为访问后台位置或摄像头或麦克风的服务在AndroidManifest.xml
文件中添加以下内容:
<manifest>
...
<service ...
android:foregroundServiceType="location|camera|microphone" />
</manifest>
此外,在startForeground
方法中添加以下内容:
Service.startForeground(notification,FOREGROUND_SERVICE_TYPE_LOCATION | FOREGROUND_SERVICE_TYPE_CAMERA | FOREGROUND_SERVICE_TYPE_MICROPHONE);
但即使如此,Android 11仍不允许应用在后台获取麦克风/相机访问权限。唯一的解决方案是使用辅助功能。之后,它将像以前一样工作。但是,如果可以安全使用Google Play应用,则在使用无障碍功能之前必须仔细检查政策,否则您可能会因使用替代方法而被暂停应用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。