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

时间:2019-01-11 08:13:42

标签: android android-source android-vibration

我正在尝试使设备以$ sed 's/${API_KEY}/xdfj212c/g' app_template.yaml | tee app.yaml; gcloud app deploy 类中定义的预定义模式振动,并使用VibrationEffectEFFECT_CLICK等模式。我注意到它们都由EFFECT_POP进行了注释,似乎没有公开的方法可以使我获得这些模式,@hide不起作用。

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

1 个答案:

答案 0 :(得分:1)

您可以使用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)。