0

我有问题。我需要在某些用户的操作后产生振动,所以我使用了代码:

Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);

但我有一个问题。当我在设备上测试应用程序时,振动级别设置为 0,我的应用程序没有振动。

我该如何解决?

谢谢!

4

2 回答 2

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

希望这有帮助。

于 2015-03-05T23:39:15.340 回答
0

如果用户将音量调低为静音不振动(如果用户将振动设置为禁用,它也可以使用),您可以使用以下命令:

    ...

    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);
            }
   ...
于 2015-03-05T22:15:53.217 回答