setRingerMode()在平板电脑上静音MediaPlayer?

时间:2013-07-20 20:00:30

标签: android tablet

Android 4.2.2。在我的Nexus 7平板电脑上,将铃声模式设置为RINGER_MODE_SILENT可以有效地消除我活动的任何有效MediaPlayer

audioManager = (AudioManager)getSystemService(Service.AUDIO_SERVICE);     
audioManager.setRingerMode(RINGER_MODE_SILENT);

我确信这是一个错误。有没有人见过这个?更重要的是,是否有解决方法

1 个答案:

答案 0 :(得分:1)

  

我确信这是一个错误

这可能是有意的,我认为你可以在更改振铃模式之前检查设备是否支持语音通话(毕竟,振铃模式仅用于呼叫?)。因此,

    if (isVoiceCapable(context)) {
        audioManager = (AudioManager)context.getSystemService(Service.AUDIO_SERVICE);
        audioManager.setRingerMode(RINGER_MODE_SILENT);
    }

...

private boolean isVoiceCapable(Context context) {
    TelephonyManager telephony =
            (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
    return telephony != null && (telephony.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE);
}

希望这有帮助。