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 に答える