Android 解决后台服务麦克风无法录音问题

本文分析了从Android 9.0开始后台服务无法调用麦克风录音的问题,原因是系统限制了空闲后台应用访问设备的隐私功能。为解决此问题,提出了采用前台服务的策略,包括修改清单文件添加权限、改变服务启动方式以及创建前台通知。提供了Android官方文档作为参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题分析

安卓9.0开始,后台服务调用部分系统服务的功能会提示没有启动成功,从官方给出的文档分析,我们需要开启前台服务指定文档类型,否则系统会拒绝处理此类操作

Operation not started: uid=10046 pkg=com.example.testaudio(null) op=RECORD_AUDIO

问题来源

由于安卓系统权限管理机制不够完善,黑客可以通过获取麦克风、摄像头等权限在不知情的情况下窃取用户隐私信息。而为了改变这一现状,安卓9.0(初步代号定为Pistachio Ice Cream,Android P)将禁止空闲后台应用访问智能手机的相机或麦克风。

这两种变化的被认可并合并到周一Android源代码[ 1,2 ]中,详细见下图
在这里插入图片描述

解决方案

既然无法后台服务调用录音功能,那我们改变策略,使用前台服务调用录音功能

1. 修改清单文件:AndroidManifest.xml

新增前台服务权限

  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
  <uses-permission android:name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值