I am using Android's VIBRATOR_SERVICE
to give a haptic feedback for a button touch.
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(300);
Android Studio give me warning that method vibrate(interval)
is deprecated I should use VibrationEffect
for API>23.
So I usedVibrationEffect
's method createOneShot
which takes 2 params: interval, and amplitude.
I tried searching for it but got no clue about what to pass as amplitude
, anybody got any idea about how to use it?
Update Added code
// Vibrate for 150 milliseconds private void shakeItBaby() { if (Build.VERSION.SDK_INT >= 26) { ((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(VibrationEffect.createOneShot(150,10)); } else { ((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(150); } }
with kotlin
private fun vibrate(){ val vibrator = context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { vibrator.vibrate(VibrationEffect.createOneShot(200, VibrationEffect.DEFAULT_AMPLITUDE)) } else { vibrator.vibrate(200) } }
Amplitude is an int value. Its The strength of the vibration. This must be a value between 1 and 255, or DEFAULT_AMPLITUDE
which is -1.
You can use it as VibrationEffect.DEFAULT_AMPLITUDE
More details here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With