0

安卓 4.2.2。在我的 Nexus 7 平板电脑上,将铃声模式设置为RINGER_MODE_SILENT有效地静音MediaPlayer我的任何活动:

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

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

4

1 回答 1

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);
}

希望这可以帮助。

于 2013-07-20T20:39:37.623 回答