三星上的Android振动器



我对Android振动器有问题。基本上,我只有一个单节 - 范围范围的类,以某种方式使android.os.os.os.os.os.os.os.os.os.s.os.os.s.

startVibrating() {
if (VERSION.SDK_INT < VERSION_CODES.O) {
        vibrator.vibrate(PATTERN, 0);
      } else {
        vibrator.vibrate(VibrationEffect.createWaveform(PATTERN, 0));
      }
} 
stopVibrating() {
 vibrator.cancel();
}

问题是,在某些三星设备上,当电话屏幕关闭时,振动器即使我有一个用于CPU的Wakelock。

最近,我们遇到了相同的情况。

根据Android文档:

如果您的过程退出,您开始的任何振动都会停止。

您希望,如果您有任何与CPU相关的WakeLock,则应正常。但是,我们发现在其他情况下,Android 6和Android 7上的三星设备也停止了Vibrator。例如,每次使用PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK关闭屏幕时,即使您明确地锁定了其他唤醒锁。

三星停止Vibrator的好消息,但并未禁止将来开始。

我们结束了下一个解决方法:

屏幕关闭时,当前活动会接到onStop()调用。因此,我们检查是否应该在那一刻振动,如果这样做,我们可以简单地再次启动Vibrator。也许,不是最好的解决方案,但它起作用。

最新更新