起因是因为公司的项目在其他手机是正常使用录音功能,而自己的小米手机只要切到后台就会被屏蔽掉,后来查了很久才认为是小米系统的原因,最后看到最新Android14的前台服务需要适配,就强行适配了一波。项目使用的是open SL进行录音。解决办法是创建一个Foreground Service
根据服务类型去添加foregroundServiceType。
<service android:name=".play.AudioTrackPlayer" android:foregroundServiceType="microphone" android:required="true"/>
官网有其他的类型,而且要求Android14为目标的应用一定要遵守权限。
前台服务类型 | Android 开发者 | Android Developers
权限申请后,启动前台服务,就能正常在后台进行录音了,熄屏下也是正常的。
非Android14以下可以参考官网的说明