2016-02-01 12 views
12

W systemie Android muszę otrzymać powiadomienie, gdy zostanie zmieniony bieżący tryb audio . Można uzyskać tę wartość przez getMode(), ale to jest pobieranie.Android: otrzymaj powiadomienie, gdy zmieni się bieżący tryb w aplikacji AudioManager.

Nie chcę odpytywać co kilka sekund.

Jakie są moje opcje?

(Należy pamiętać, że nie pytam o ringerMode)

+0

Czy próbowałeś słuchać AudioManager.RINGER_MODE_CHANGED_ACTION? –

+0

"Proszę pamiętać, że nie pytam o RingerMode" –

Odpowiedz

3

Można użyć AudioFocus dla urządzeń z systemem Android OS w wersji 2.2 i wyżej, preassuming aplikacja jest również odtwarzanie dźwięku.

Możesz zarejestrować zmiany ostrości audio, a następnie wysłuchać metody onAudioFocusChange(int focusChange). W ten sposób otrzymasz powiadomienie o zmianach w trybie audio, a także o innych zmianach ostrości dźwięku. Mam nadzieję, że to pomoże.

Można również użyć PhoneStateListener, aby odsłuchać zmiany stanów telefonu i odpowiadające im tryby audio.

Powiązane problemy