2015-05-29 3 views
0

Я использую VIBRATOR_SERVICE для Android, чтобы мое устройство вибрировало на конечном, не повторяющемся событии с обычным, не повторяющимся рисунком:Усилитель интенсивности вибрации от Android для программных клавиш системы после вызова метода vibrate()

((Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE)) 
       .vibrate(Constants.VIBRATION_DELETE_CHAT, 1); 

Это хорошо работает для желаемого события. Однако, как только устройство будет вибрировать, как ожидалось, до тех пор, пока приложение не остановится (вручную отключив его или дождавшись остановки системы), программные клавиши устройства вибрируют в том же высокоинтенсивном шаблоне, который я изначально указывал для мое событие.

Нужно ли устанавливать настройки вибрации системы после того, как я установил свою собственную вибрацию с одним выстрелом или почему на экранные клавиши влияет эта строка кода?

Спасибо,

ответ

1

Вызов Vibrator.vibrate(long[] pattern, int repeat) не должно повлиять на значения по умолчанию системы вибрации.

Проверьте правильность переданного вами параметра int repeat. Этот параметр является показателем в представленном вами образце вибрации. Когда вы передаете 1 в качестве этого параметра, вам необходимо вручную вызвать Vibrator.cancel(), чтобы остановить повторение. Измените этот параметр на -1, чтобы он не повторялся.

Кроме того, если этот индекс выходит за пределы размера массива шаблонов вибраций, это может вызвать проблемы.

Смежные вопросы