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;
}
从上面的代码仅检测一种模式。但我想检查2种模式,即振铃+振动还是静音+振动。
怎么可能?
最佳答案
没有任何方法可以使振铃+振动和静音+振动。众所周知,我们有三种获取铃声模式的方法。
AudioManager.RINGER_MODE_NORMAL
AudioManager.RINGER_MODE_SILENT
AudioManager.RINGER_MODE_VIBRATE
因此,您只需要创建一种方法即可检查振铃和振动情况
像振铃+震动。
public boolean statusRingVibrate(){
boolean status = false;
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if(am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL && am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE){
status = true;
}
return status;
}
关于android - 如何检测Android手机的铃声并以编程方式振动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26900729/