Android AudioManager setMode()权限拒绝

时间:2012-05-02 15:34:45

标签: android android-audiomanager

我在播放媒体时尝试setMode(mode_in_call)来改变音频模式。 所以,我确定我添加了许可 我用这样的代码写: AudioManager mAudioManager =(AudioManager)getSystemService(Context.AUDIO_SERVICE); mAudioManager.setMode(AudioManager.MODE_IN_CALL);

这是问题所在: 我使用的是Sumsung i9000 i9023 它不起作用,日志电话相关的音频设置权限拒绝:setMode() 但我尝试索尼x10 LT15i,它可以正确修改模式。 为什么不这样呢。

2 个答案:

答案 0 :(得分:2)

我不知道你说你添加了什么许可,但要确定它:

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

答案 1 :(得分:0)

请注意,MODE_IN_CALL 只能由具有 Manifest.permission.MODIFY_PHONE_STATE 权限的主电话应用程序选择。

"Manifest.permission.MODIFY_PHONE_STATE" - 允许修改电话状态 - 开机、mmi 等。不包括拨打电话。不供第三方应用使用。

参考链接: https://developer.android.com/reference/android/media/AudioManager#setCommunicationDevice(android.media.AudioDeviceInfo)

https://developer.android.com/reference/android/Manifest.permission#MODIFY_PHONE_STATE