我正在使用Android的VIBRATOR_SERVICE使我的设备在有限的,非重复的事件中振动,并使用这样的自定义非重复模式:
((Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE))
.vibrate(Constants.VIBRATION_DELETE_CHAT, 1);
这适合所需的活动。但是,一旦设备按预期振动,只要应用程序没有停止(通过手动强制停止或等待系统停止它),设备的软键就会以我最初指定的相同高强度模式振动。我的活动。
一旦我设置了自己的自定义单次振动,或者为什么软键受到这行代码的影响,是否需要设置系统的振动默认值?
谢谢,
答案 0 :(得分:1)
对Vibrator.vibrate(long[] pattern, int repeat)
的调用不应影响系统振动默认值。
检查您传递的int repeat
参数的值是否正确。此参数是您提供的振动模式的索引。当您将1作为此参数传递时,您需要手动调用Vibrator.cancel()
以停止重复。将此参数更改为-1以防止重复。
此外,如果此索引超出振动模式阵列大小的范围,则可能会导致问题。