我有问题。我需要在某些用户的操作后产生振动,所以我使用了代码:
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);
但我有一个问题。当我在设备上测试应用程序时,振动级别设置为 0,我的应用程序没有振动。
我该如何解决?
谢谢!
我有问题。我需要在某些用户的操作后产生振动,所以我使用了代码:
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);
但我有一个问题。当我在设备上测试应用程序时,振动级别设置为 0,我的应用程序没有振动。
我该如何解决?
谢谢!
将音量调低至静音不会导致此问题。相反,我注意到控制振动水平的是Notifications
场。Setting> Sound> Vibration intensity
这就是为什么即使 AudioManager 也不起作用的原因:
private AudioManager myAudioManager;
myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
myAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
但是,有一个类似的问题,答案是使用Immersion Haptic SDK。
希望这有帮助。
如果用户将音量调低为静音不振动(如果用户将振动设置为禁用,它也可以使用),您可以使用以下命令:
...
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (am.getRingerMode() == AudioManager.RINGER_MODE_SILENT)
{
v.vibrate(300);
}
else
{
v.vibrate(500);
}
...