如何获得预定义的振动模式?

问题描述 投票:2回答:1

我正在尝试使设备以VibrationEffect类中定义的预定义模式振动,该模式具有EFFECT_CLICKEFFECT_POP等模式。我注意到它们都由@hide注释,似乎没有公开方法可以让我获取这些模式,VibrationEffect.get()不起作用。

所以我应该如何获得这种模式?还是根本不可能?我还尝试深入研究Android源代码以找到这些模式,我对预定义的Ringtone振动模式特别感兴趣,但是我似乎找不到它们,我所能找到的只是定义振动的接口包。模式。如果我做错了,有人可以为我指出正确的方法吗?

android android-source android-vibration
1个回答
0
投票

您可以使用VibrationEffect.createPredefined(int)获得任何模式,例如:

val vibrator = context?.getSystemService(Context.VIBRATOR_SERVICE) as? Vibrator
val effect: VibrationEffect = VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK)
vibrator?.vibrate(effect)

请注意,VibrationEffect.EFFECT_CLICK可以用AOSP reference中提到的其他值替换。所需的最低API是29(Android 10)。

© www.soinside.com 2019 - 2024. All rights reserved.