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

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

Есть ли способ запросить доступность вибратора?

Ответ 1

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

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

boolean isVibrator = mVibrator.hasVibrator();

Ответ 2

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

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

if ( getSystemService(VIBRATOR_SERVICE) != null ) {
    //Vibrator exists
}

Ответ 3

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

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

Итак, РЕАЛЬНЫЙ вопрос: как v1 - v10 обнаруживает, есть ли у устройства вибратор? (Или ничего плохого не произойдет, если вы попытаетесь вибрировать устройство без вибратора?)