我想知道用户是静音还是非静音电话。如果用户使电话静音,如何检测用户与电话音量的交互我的功能将触发
提前致谢
问问题
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;
}
使用此代码应用您的逻辑以确定手机模式何时更改并相应地调用您的函数。
编辑: 要检测振铃模式的变化,请声明一个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 回答