gpt4 book ai didi

三星安卓振动器

转载 作者:行者123 更新时间:2023-11-30 05:04:25 25 4
gpt4 key购买 nike

我对 Android Vibrator 有疑问。基本上,我只有一个 Singleton - 作用域类以某种方式封装了 android.os.Vibrator,它有两种方法

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

stopVibrating() {
vibrator.cancel();
}

问题是在某些三星设备上,当手机屏幕关闭时振动器会停止,即使我有 CPU 的唤醒锁也是如此。

最佳答案

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

根据 Android 文档:

If your process exits, any vibration you started will stop.

并且您会希望,如果您有任何与 CPU 相关的 WakeLock,它应该可以正常工作。但是,我们发现 Android 6 和 Android 7 上的三星设备在其他一些情况下也会停止 Vibrator。例如,每次使用 PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK 关闭屏幕时,即使您显式采用其他一些唤醒锁也是如此。

三星停止 Vibrator 的好消息,但并不禁止它在未来启动。

我们最终采用了下一个解决方法:

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

关于三星安卓振动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54816140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com