Android vibrate已弃用。 如何在Android> = API 26中使用VibrationEffect?

我正在使用Android的VIBRATOR_SERVICE为按键触摸提供触觉反馈。

  ((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(300); 

Android Studio告诉我警告方法vibrate(interval)已弃用我应该使用VibrationEffect for API> 23。

所以我使用了VibrationEffect的方法createOneShot ,它采用2个参数:间隔和幅度。 在此处输入图像描述

我试着寻找它,但不知道要传递什么作为amplitude ,任何人都知道如何使用它?

更新添加的代码

 // 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); } } 

  • 如何禁用/重新启用接收通知时发生的振动?
  • 按住按钮时振动
  • 幅度是一个int值。 它的振动强度。 它必须是介于1和255之间的值,或DEFAULT_AMPLITUDE (-1)。

    您可以将其用作VibrationEffect.DEFAULT_AMPLITUDE

    更多细节在这里

    您可以将此用于触觉反馈(振动):

     view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); 

    HapticFeedbackConstants还有其他常量,如VIRTUAL_KEYKEYBOARD_TAP ……

    这个库可以帮助你: https : //github.com/josephrubin/Rumble-4-Android

    你需要的只是Rumble.once(150);

    它为您处理API版本。