Я пытаюсь изменить режим звонка телефона на 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. В документации написано:
«Если ваш процесс завершен, любая вибрация , с которой вы начали, остановится».
Это звучит для меня так, как если бы вибрация была связана с процессом, который запустил ее, и к ней нельзя получить другой процесс.