9

Android アプリケーションを開発しているときに、音量がミュートに設定されているかどうかを検出するにはどうすればよいですか?

音量がミュートに変更された場合、またはミュートが解除された場合、アプリケーションはどのように通知を受け取ることができますか?

4

1 に答える 1

30

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);
于 2013-02-24T07:22:12.820 に答える