Как я могу узнать, есть ли на устройстве вибратор? - PullRequest
37 голосов
/ 23 июля 2011

У меня есть устройство, которое я не знаю, есть ли у него вибратор.

Есть ли способ запросить наличие вибратора?

Ответы [ 3 ]

31 голосов
/ 23 июля 2011

Класс Vibrator делает именно это. Это hasVibrator() метод возвращает логическое значение, указывающее, поддерживается ли вибрация.

  1. Получить экземпляр класса Vibrator, который является системной службой.
  2. Запрос к классу Vibrator с использованием метода hasVibrator().
String vs = Context.VIBRATOR_SERVICE;
Vibrator mVibrator = (Vibrator)getSystemService(vs);

boolean isVibrator = mVibrator.hasVibrator();
7 голосов
/ 27 января 2013

Это может помочь для API <11: </p>

Context.getSystemService() возвращает объект службы или null, если нет службы.

if ( getSystemService(VIBRATOR_SERVICE) != null ) {
    //Vibrator exists
}
0 голосов
/ 20 февраля 2012

Вам нужно поддерживать (как минимум) Android 3.0 (11 HoneyComb), прежде чем использовать hasVibrator ().

Как ни странно, вы можете использовать vibrate () в любых / всех версиях.

Итак, НАСТОЯЩИЙ вопрос: как v1 - v10 обнаруживает, есть ли на устройстве вибратор? (Или ничего плохого не произойдет, если вы попытаетесь вибрировать устройство без вибратора?)

...