2013-02-24 39 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