Android AudioManager setMode() 权限拒绝

3

我尝试使用setMode(mode_in_call)来改变媒体播放时的音频模式。我确认已经添加了以下权限:
并且我的代码如下所示: AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); mAudioManager.setMode(AudioManager.MODE_IN_CALL);

这里出现了问题: 我使用的是三星i9000 i9023,无法正常工作,日志显示“Phone Related Audio Settings Permission Denial: setMode()”。 但是当我尝试使用索尼x10 LT15i时,它可以正确地修改模式。为什么会有这种情况呢?

2个回答

5

我不知道你所说的权限是什么,但请确保:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 

1
谢谢,我已经通过SetMode(AudioManager.MODE_IN_COMMUNICATION)修复了它。 - Stay
2
从Android Lollipop开始,MODE_IN_CALL被限制为第三方应用程序。只有当您的应用程序是系统应用程序时,才能使用此功能。作为第三方应用程序的最佳方法是使用MODE_IN_COMMUNICATION并进行适当的音频路由控制。 - Saurav

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接