2010-04-13 2 views
9

Я пытаюсь изменить режим звонка телефона на RINGER_MODE_SILENT, когда звонок поступает с использованием следующих строк кода.Android: режим звонка, измененный на тихий, не останавливает вибрацию телефона

AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
am.setRingerMode(AudioManager.RINGER_MODE_SILENT); 

Пока телефон перестанет звонить ему продолжать вибрировать, хотя документация RINGER_MODE_SILENT говорит она также должна прекратить вибрировать.

Я использую SDK 1,6

UPDATE:

Как я не нашел решения еще, я попытался отключить настройки вибрации вручную.

am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF); 

Но это также не мешает вибрации телефона при поступлении входящего звонка.

Любые идеи?

UPDATE 2:

Сегодня я пытался решить эту проблему путем отмены вибрации через объект вибрации.

Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
vib.cancel(); 

Снова, без успеха. Теперь у меня заканчиваются идеи и спрашивают себя, можно ли вообще прекратить вибрацию.

UPDATE 3:

я обнаружил еще один интересный факт, когда я перечитать documentation of the Vibrator class. В документации написано:

«Если ваш процесс завершен, любая вибрация , с которой вы начали, остановится».

Это звучит для меня так, как если бы вибрация была связана с процессом, который запустил ее, и к ней нельзя получить другой процесс.

ответ

0

У меня также возникли проблемы с отключением этой функции.

Ive использовал набор AudioManagerVibrateSetting, вставляя AudioManager.VIBRATE_TYPE_NOTIFICATION и 0, но он все еще вибрирует при получении текстового сообщения.

мне интересно, если есть способ, чтобы полностью переопределить эту функцию теперь ...

Я думаю, что метод вибратора отменить() для вибрации, которая в настоящее время.

1

Извините, это известная ошибка в приложении «Телефон»; он в настоящее время не прослушивает AudioManager.RINGER_MODE_CHANGED_ACTION трансляции (которые будут сообщать ему, чтобы остановить звонок и вибрацию). Я рекомендую подавать ошибку на b.android.com.

0

Вы пробовали разрешение MODIFY_AUDIO_SETTINGS? SDK говорит: Позволяет программе изменять глобальные настройки звука.

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