AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
switch (am.getRingerMode()) {
case AudioManager.RINGER_MODE_SILENT:
Log.i("MyApp","Silent mode");
break;
case AudioManager.RINGER_MODE_VIBRATE:
Log.i("MyApp","Vibrate mode");
break;
case AudioManager.RINGER_MODE_NORMAL:
Log.i("MyApp","Normal mode");
break;
}
上記のコードを使用すると、さまざまなAudioManager RINGER_MODE *タイプを正常に見つけることができますが、状態が変化したときにキャッチするEventListenerを見つけることができないようです。私が書いているアプリケーションはバックグラウンドで実行されるので、AudioManager.RINGER_MODEの状態をチェックする最もタイムリーな方法を知りたいです。