2013-07-20 2 views
0

Android 4.2.2. На моем Nexus 7 таблетки, установив режим звонка в RINGER_MODE_SILENT эффективно заглушает любой активный MediaPlayer моей деятельности:setRingerMode() отключает MediaPlayer на планшете?

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

Я убежден, что это ошибка. Кто-нибудь видел это раньше? И что еще более важно, есть обходное решение?

+0

Является ли это моделью Wi-Fi? – ozbek

+0

Да, он имеет Wi-Fi. Не все таблетки? – l33t

+0

Я хотел сказать «Wi-Fi _only_ model?», Есть и модель 3G. Тогда я понял, что это не изменит, поскольку ни одна из моделей не поддерживает голосовые вызовы. – ozbek

ответ

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

Надеется, что это помогает.

Смежные вопросы