2013-02-24 14 views
7

Kiedy tworzę aplikację na Androida, jak wykryć, czy głośność jest wyciszona?Jak wykryć, czy głośność jest wyciszona?

W jaki sposób moja aplikacja może otrzymać powiadomienie, jeśli głośność zmieni się na wyciszony lub nie zostanie wyłączony?

Odpowiedz

27

Możesz użyć aplikacji AudioManager, aby sprawdzić, czy głośność jest wyciszona, czy też nie.

AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
switch(audio.getRingerMode()){ 
case AudioManager.RINGER_MODE_NORMAL: 
    break; 
case AudioManager.RINGER_MODE_SILENT: 
    break; 
case AudioManager.RINGER_MODE_VIBRATE: 
    break; 
} 

oraz w przypadku zmiany głośności jest dostępna funkcja BroadcastReceiver.

public class VolumeKeyReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Implement Logic 
    } 
} 

Zarejestruj BroadcastReceiver

VolumeKeyReceiver keyReceiver = new VolumeKeyReceiver(); 
IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction("android.media.VOLUME_CHANGED_ACTION"); 
registerReceiver(keyReceiver, intentFilter); 
+0

Dziękuję, wiem jak go rozwiązać – Davim

Powiązane problemy