为什么振动在Android P(API 28)上不起作用?

时间:2018-08-30 07:03:58

标签: android kotlin vibration android-9.0-pie haptic-feedback

我正在尝试在更改搜索栏的值时实现触觉反馈。 它可以在Android pre-P上正常运行。在Android P上根本不起作用。 代码:

private val vibrator = context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator?
private val effect by lazy { VibrationEffect.createOneShot(VIBRATION_DURATION, 50)}
...

fun vibrate() {
    if (vibrator == null || !vibrator.hasVibrator()) {
        return
    }
    vibrator.cancel()
    vibrator.vibrate(effect)

2 个答案:

答案 0 :(得分:3)

事实证明,用户必须在“设置”->“辅助功能”->“振动”->“触摸振动”中启用触摸振动:enter image description here

没有它,短振动(少于5秒)将不起作用。对我来说,这不是很直观,所以我决定在此处发布

答案 1 :(得分:1)

正是迈克所说的。 但是对于Android Pie-设置->声音和振动->系统声音和振动->触摸振动