Как отключить игровой будильник во время разговора - PullRequest
0 голосов
/ 28 октября 2011

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

Как это сделать?

1 Ответ

0 голосов
/ 28 октября 2011

Из действия, службы или где-либо еще у вас есть объект контекста:

AlarmManager am = (AlarmManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setStreamMute(AudioManager.STREAM_ALARM, true);

Просто не забудьте отключить звук.Или, если ваш процесс не нужен после завершения вызова, и система его уничтожает - отключение звука прекращается.

Но, если вы поддерживаете свой процесс живым, важно, чтобы вы сохранили ссылку на AlarmManager.Я обнаружил ошибку: если вы звоните setStreamMute(..., true), а затем теряете ссылку, независимо от того, сколько раз вы звоните setStreamMute(..., false), она никогда не включается.

Поэтому просто держите статическую ссылку на AudioManager.*

...