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
質問する
60 次
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
を拡張して使用するを宣言します。BroadcastReceiver
onCreate()
Activity
Service
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 に答える