我需要启用和禁用移动模式时,用户关闭和打开开关按钮。
我已经尝试了下面的代码,但它不起作用:
AudioManager myAudioManager;
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
Toast.makeText(this, "in setting "+(myAudioManager.getMode()==AudioManager.RINGER_MODE_VIBRATE),1).show();
if(myAudioManager.getMode()==AudioManager.RINGER_MODE_VIBRATE) {
//myAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
myAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
}
else
{
//myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
myAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);
}
发布于 2015-03-26 00:10:56
我们可以通过使用AudioManager以编程方式启用和禁用静默模式:
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
用于设置静默模式:
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
对于正常模式:
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
发布于 2015-03-23 03:12:02
首先,在AndroidManifest.xml中使用此权限
<uses-permission android:name="android.permission.VIBRATE"/>
现在
public void startVibrate(View v) {
long pattern[] = { 0, 100, 200, 300, 400 };
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, 0);
}
public void stopVibrate(View v) {
vibrator.cancel();
}
振动模式公共抽象空洞振动(long[]模式,整数重复)振动模式只是一个持续时间阵列的开关振动器,以毫秒为单位。第一个值表示在打开振子之前等待的毫秒数。下一个值表示在关闭振子之前保持振动器工作的毫秒数。随后的值,在ON和OFF之间交替。
long pattern[]={0,100,200,300,400};
如果你觉得没有重复,只需通过-1的‘重复’。要重复模式,只需从您想要开始的位置传递索引即可。我想从0‘开始,因此我将0传递给’重复‘。
vibrator.vibrate(pattern, 0);
发布于 2017-09-20 05:01:34
myAudioManager.setVibrateSetting();
API级别16中不推荐此方法。
你可以用这个:
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT)
RINGER_MODE_SILENT :会使音量变小,不会震动。
RINGER_MODE_VIBRATE:将静音和振动。
RINGER_MODE_NORMAL:将是可听到的,并可根据用户的设置振动。
https://stackoverflow.com/questions/29208366
复制相似问题