Android AudioManager не отключает звук телефона

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

Это код, который у меня есть прямо сейчас:

        try {
        AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        audioManager.setRingerMode(0);
    } catch (Exception ex) {
        Log.e("Error", ex.getMessage());
    }

Я уже пробовал эти решения:

Android audiomanager - я хочу установил беззвучный режим, но применил режим приоритета (леденец)

Тихий телефон Android в Java

И еще пара, которые указывали на то, что я должен попробовать что-то со свойством setStreamVolume. Но это также не решило проблему, потому что тогда мой телефон все еще вибрировал при получении сообщения или телефонного звонка.

Это разрешения в моем манифесте:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Я отключил сообщение об ошибке для «write_secure_settings», так как это похоже на настройку системного приложения.

Телефон, который я сейчас использую для тестирования, — это мой Sony Z5 Compact под управлением Android 5.1.1. Не пробовал код на моей старой галактике s4 под управлением 4.4.2.

Любые предложения о том, что попробовать дальше.


person user    schedule 31.01.2016    source источник
comment
странно, что setRingerMode(AudioManager.RINGER_MODE_SILENT) у вас не сработал.   -  person Ilan Kutsman    schedule 11.02.2016


Ответы (1)


Вы пробовали добавить этот код?

int streams = AudioManager.STREAM_ALARM|AudioManager.STREAM_DTMF|AudioManager.STREAM_MUSIC|
              AudioManager.STREAM_NOTIFICATION|
              AudioManager.STREAM_RING|AudioManager.STREAM_SYSTEM|
              AudioManager.STREAM_VOICE_CALL;
audioManager.AdjustVolume(streams,ADJUST_MUTE);

По флагу можно заглушить определенные потоки.. в этом коде я заглушил их все

person Ilan Kutsman    schedule 10.02.2016
comment
К сожалению, это тоже не сработало. Возможно, это просто баг в Android-оболочке Sony. Хотя я не могу найти никаких подсказок, указывающих на это. - person user; 13.02.2016