2013-02-24 42 views

回答

27

您可以使用AudioManager检查音量是静音还是非静音。

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

并且对于音量改变,存在BroadcastReceiver。

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

注册的BroadcastReceiver

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

谢谢你,我知道如何解决这个问题 – Davim 2013-02-25 08:48:03