VibrationEffect.DEFAULT_AMPLITUDE的真正价值是什么?

问题描述

我想知道Oreo +设备上VibrationEffect.DEFAULT_AMPLITUDE的真正价值是什么。我知道可用值是-1,尽管我想知道0-255之间的值。什么定义了真正的价值?

谢谢。

解决方法

设备的默认振动强度。

常量值:-1(0xffffffff)

@RequiresApi(api = Build.VERSION_CODES.O)
    private void createOneShotVibrationUsingVibrationEffect() {
        // 1000 : Vibrate for 1 sec
        // VibrationEffect.DEFAULT_AMPLITUDE - would perform vibration at full strength
        VibrationEffect effect = VibrationEffect.createOneShot(1000,VibrationEffect.DEFAULT_AMPLITUDE);
        vibrator.vibrate(effect);
    }

已更新

fun vibrateDevice(context: Context) {
    val vibrator = getSystemService(context,Vibrator::class.java)
    vibrator?.let {
        if (Build.VERSION.SDK_INT >= 26) {
            it.vibrate(VibrationEffect.createOneShot(100,VibrationEffect.DEFAULT_AMPLITUDE))
        } else {
            @Suppress("DEPRECATION")
            it.vibrate(100)
        }
    }
}