Android: требуется ли для Notification.DEFAULT_VIBRATE разрешение на вибрацию?

Иногда я читаю это

notification.defaults|= Notification.DEFAULT_VIBRATE;

а также

notification.defaults = Notification.DEFAULT_ALL;

требуется разрешение на вибрацию

<uses-permission android:name="android.permission.VIBRATE" ></uses-permission>

Но иногда я читаю, что это не так.

Какая из них верная информация?


person Xander    schedule 31.10.2012    source источник
comment
Да, для этого требуется разрешение на вибрацию. Без разрешения приложение не запустится!   -  person Parth Doshi    schedule 31.10.2012
comment
Да разрешение нужно   -  person Sumant    schedule 31.10.2012
comment
Да Вы должны указать разрешение   -  person Arshad Ali    schedule 31.10.2012
comment
Интересно, что я мог запустить это (используя DEFAULT_ALL) на одном устройстве (Nexus 4 под управлением 4.2) без запроса разрешения VIBRATE, но на другом (Nexus S под управлением 4.1) произошел сбой.   -  person Ciske    schedule 17.12.2013
comment
То же самое здесь, HTC ONE X с 4.2 не требовалось разрешение   -  person pomber    schedule 25.11.2014
comment
Бьюсь об заклад, они изменили это в 4.2 тогда. Я могу понять, почему они изменили это, хотя. Я имею в виду, зачем вам разрешение делать что-то, что пользователь установил по умолчанию?   -  person Xander    schedule 05.12.2014
comment
У меня было подобное забавное поведение: я показывал уведомления в приложении с Notification.DEFAULT_VIBRATE без проблем на всех устройствах, пока я не добавил разрешения для поддержки push-уведомлений. Как только я добавил это, у меня начались сбои, потому что я не включил разрешение VIBRATE на устройствах до 4.2 (поэтому только 4.0.X - 4.1.X).   -  person Stefan Anca    schedule 06.02.2015
comment
Разрешения для push-уведомлений? Я использую push-уведомления в своем приложении без разрешения, и это не дает мне никаких ошибок   -  person Xander    schedule 15.02.2015
comment
Я тестировал его на своем Nexus 4 на леденце, ему не нужно это разрешение.   -  person GhostFlying    schedule 23.02.2015
comment
См. также stackoverflow.com/questions/13602190/   -  person caw    schedule 15.03.2021


Ответы (2)


Хорошо, видимо, вам нужно разрешение на вибрацию. Спасибо!

person Xander    schedule 31.10.2012

Вам может быть интересно прочитать: https://android.googlesource.com/platform/frameworks/base/+/cc2e849

As of 4.2.1:

Улучшения вибрации уведомлений: [НЕ ОБЪЕДИНЯТЬ]

  • Когда уведомления вибрируют в качестве запасного варианта (то есть, потому что они хотят воспроизвести звук, но устройство находится в режиме вибрации), для этого больше не требуется разрешение VIBRATE.
  • В качестве бонуса, если ваши уведомления используют DEFAULT_VIBRATE, вам также не нужно разрешение VIBRATE.
  • Если вы укажете собственный шаблон вибрации, вам все равно потребуется разрешение VIBRATE для этого.
  • Уведомления, вибрирующие в резервном режиме, используют тот же шаблон вибрации, но в будущем его можно будет легко изменить.
  • Шаблоны вибрации DEFAULT_VIBRATE и резервной вибрации теперь указаны в config.xml.
person Mike Lambert    schedule 05.10.2016
comment
гораздо лучше ответить, чем просто ответить да (как в принятом ответе), но обычно нам не нужно это разрешение, поэтому фактический ответ - нет - person user924; 01.06.2019
comment
Но разве фактический ответ не зависит от вашей версии Android? - person Mike Lambert; 07.06.2019