-1

I want to know if a user silent or unsilent the phone. How to detect user interaction with phone volume if user unsilent the phone my function will trigger
Thanks In Advance

4

1 に答える 1

1

のgetRingerMode()メソッドを使用して、電話機がサイレント モードかどうかを検出できます AudioManager

AudioManager mAudio = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

switch (mAudio.getRingerMode()) {
    case AudioManager.RINGER_MODE_SILENT:
        // your phone is in Silent Mode
        break;
    case AudioManager.RINGER_MODE_VIBRATE:
        // your phone is in Vibrate Mode
        break;
    case AudioManager.RINGER_MODE_NORMAL:
        // your phone is in Normal Mode
        break;
}

このコードを使用してロジックを適用し、電話のモードがいつ変更されるかを判断し、それに応じて関数を呼び出します。

EDIT : 呼び出し音モードの変更を検出するには、ブロードキャストを処理する、またはメソッド内でこのコードRingerModeStateChangeReceiverを拡張して使用するを宣言します。BroadcastReceiveronCreate()ActivityService

      BroadcastReceiver receiver=new BroadcastReceiver(){
          @Override
          public void onReceive(Context context, Intent intent) {
               //call your function here
          }
      };
      IntentFilter filter=new IntentFilter(
                      AudioManager.RINGER_MODE_CHANGED_ACTION);
      registerReceiver(receiver,filter);
于 2012-09-20T06:01:06.440 に答える