三星 Galaxy S8+ 上的触觉(振动)反馈

Haptic (vibration) feedback on Samsung Galaxy S8+

目标是在应用中发生某些操作时接收振动反馈。 HapticFeedbackConstants 有几个常量,负责不同的触觉类型。 它没有很好的记录,但从逻辑上讲 CONTEXT_CLICK 适合这里。 M之前不可用,所以代码是

fun View.performHapticFeedbackDefault() {
    performHapticFeedback(if (VERSION.SDK_INT >= VERSION_CODES.M) {
        HapticFeedbackConstants.CONTEXT_CLICK
    } else HapticFeedbackConstants.LONG_PRESS)
}

这在 Nexus/Pixel 手机、一些华为等手机上有效并得到确认,但不适用于三星 Galaxy 手机,我们应该涵盖这个部分

似乎Samsung在振动偏好中也没有这样的设置

如何在三星设备上执行触觉反馈?

实际上我找到了三星可用的触觉类型,并且应该在其他设备上可用 - 键盘触觉。

用户可以通过设置禁用它,但我认为这是涵盖大多数情况的类型。

fun View.performHapticFeedbackDefault() {
    performHapticFeedback(HapticFeedbackConstants.KEYBOARD_TAP)
}