如何检查手机是否静音,振动或响亮在Android
问题描述:
这是我的静音/取消静音手机的代码。但我想检查一下电话是否静音,如果不是,我会静音。如果在振动,那么我会使它正常。如何检查手机是否静音,振动或响亮在Android
我可以检查此状态吗?
public void changeRingerMode(Context context){
AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
/**
* To Enable silent mode.....
*/
audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
/**
* To Enable Ringer mode.....
*/
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
答
试试这个:
switch(audio.getRingerMode()){
case AudioManager.RINGER_MODE_NORMAL:
break;
case AudioManager.RINGER_MODE_SILENT:
break;
case AudioManager.RINGER_MODE_VIBRATE:
break;
}
答
在我来说,我发现,即使我的手机设置为振动,它会当它沉寂返回AudioManager.RINGER_MODE_SILENT
,所以我找到了一种方法来检查如果再振动模式:
public static boolean checkVibrationIsOn(Context context){
boolean status = false;
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
if(am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE){
status = true;
} else if (1 == Settings.System.getInt(context.getContentResolver(), "vibrate_when_ringing", 0)) //vibrate on
status = true;
return status;
}
并得到整个画面,以找出是否振铃是:
public static boolean checkRingerIsOn(Context context){
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
return am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL;
}
谢谢。那是快:) – senzacionale 2012-08-16 11:06:56
senzacionale,欢迎:) – 2012-08-16 11:19:25