Почему вибрация не работает на Android P (API 28)? - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь реализовать тактильную обратную связь при изменении значения панели поиска. Он корректно работает на 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 голосов
/ 26 июня 2019

именно то, что сказал Майк. а вот для андроида пирог - настройка-> звуки и вибрация -> системные звуки и вибрация -> сенсорная вибрация

0 голосов
/ 30 августа 2018

Оказывается, пользователь должен включить сенсорную вибрацию в Настройках -> Специальные возможности -> Вибрация -> Сенсорная вибрация: enter image description here

Без этого короткая вибрация (менее 5 секунд) не сработает. Для меня это не совсем интуитивно понятно, поэтому я решил опубликовать это здесь

...