2016-02-01 5 views
12

In Android muss ich benachrichtigt werden, wenn der aktuelle Audiomodus geändert wird.Android: Benachrichtigung erhalten, wenn der aktuelle Modus im AudioManager geändert wird

Ich kann diesen Wert durch getMode() bekommen, aber das ist Polling.

Ich möchte nicht alle paar Sekunden abfragen.

Was sind meine Optionen?

(Bitte beachten Sie, dass ich nicht über ringerMode bin gefragt)

+0

Haben Sie versucht, den AudioManager zu hören.RINGER_MODE_CHANGED_ACTION? –

+0

"Bitte beachten Sie, dass ich nicht über RingerMode frage" –

Antwort

3

Sie AudioFocus für Geräte mit Android OS Version 2.2 und höher, preassuming Ihre Anwendung ist auch die Wiedergabe von Audio verwenden können.

Sie können sich für Audiofokusänderungen registrieren und dann die Methode onAudioFocusChange(int focusChange) anhören. Auf diese Weise werden Sie über Änderungen im Audiomodus und andere Änderungen des Audiofokus informiert. Ich hoffe das hilft.

Sie können auch PhoneStateListener verwenden, um Telefonstatusänderungen und entsprechende Audiomodi abzuhören.

1

http://developer.android.com/reference/android/media/AudioManager.html

Schnittstelle AudioManager.OnAudioFocusChangeListener

Schnittstellendefinition für einen Rückruf aufgerufen werden, wenn der Audio-Fokus des Systems aktualisiert wird.

Einstellung dies würde Ihnen die Verwendung von onAudioFocusChange Methode geben. Dies würde unter anderem Modusänderungen erkennen.

Verwandte Themen