2012-09-07 3 views
2

Есть ли какое-либо событие, которое срабатывает, когда телефон Android вибрирует, поэтому я могу подписаться на его обработчик событий?Как узнать, работает ли вибратор?

Спасибо за ваше время.

+0

не то, что [* я знаю *] (http://developer.android.com/reference/android/os/Vibrator.html) ... – alfasin

ответ

1

Вы можете использовать Context.getSystemService(), чтобы получить объект Vibrator. Используя этот объект, вы можете определить, имеет ли телефон вибратор.

Vibrator vibrator = context.getSystemService(Context.VIBRATOR_SERVICE); 

в identfiy есть ли телефон вибратор использовать hasVibrator()

vibrator.hasVibrator() 

Вы можете запускать и останавливать вибрацию с помощью

vibrate.vibrate(long milliseconds); 
vibrate.cancel(); 

EDIT: После просмотра комментария Op .. В

Я не думаю, что вы получите уведомление, когда телефон начнет вибрировать AFAIK. (Счастлив, если кто-то меня испугает). Вы можете узнать, находится ли телефон в режиме вибрации или в бесшумном режиме или в обычном режиме (см. this). Но режим вибрации не означает, что телефон вибрирует прямо сейчас.

+0

Я считаю, что он не имел в виду, если устройство имеет эта способность. Он хочет подписаться на событие вибрации. – Tarik

+0

Извините, я просто хочу знать, работает ли вибратор или просто не работает. – AmyWuGo

0

getVibrateSetting (int vibrateType) НО: Этот метод устарел. Приложения должны поддерживать свою собственную вибрирующую политику, основанную на текущем режиме звонка, который может быть запрошен через getRingerMode().

+0

Я не хочу знать настройки ОС или состояние ОС. – AmyWuGo

+0

В вашем вопросе говорится: «Могу ли я получить статус от службы ОС?» и в вашем комментарии говорится: «Я не хочу знать настройки ОС или статус ОС». Решите, что вы хотите друг. –

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