Androidの場合、オーディオモードが変更されたときに通知を受ける必要があります。Android:AudioManagerの現在のモードが変更されたときに通知を受ける
この値はgetMode()で取得できますが、これはポーリングです。
私は数秒ごとにポーリングしたくありません。
私のオプションは何ですか?
(私はringerModeについて尋ねていないよので、予めご了承ください)
Androidの場合、オーディオモードが変更されたときに通知を受ける必要があります。Android:AudioManagerの現在のモードが変更されたときに通知を受ける
この値はgetMode()で取得できますが、これはポーリングです。
私は数秒ごとにポーリングしたくありません。
私のオプションは何ですか?
(私はringerModeについて尋ねていないよので、予めご了承ください)
あなたのアプリは、オーディオを再生しているpreassuming、Android OSのバージョン2.2以降を実行しているデバイスのためのAudioFocusを使用することができます。
オーディオフォーカスの変更を登録してからonAudioFocusChange(int focusChange)
メソッドを聞くことができます。このようにして、オーディオモードの変更やその他のオーディオフォーカスの変更が通知されます。私はこれが役立つことを願っています
PhoneStateListenerを使用して、電話の状態の変更と対応するオーディオモードを聴くこともできます。
http://developer.android.com/reference/android/media/AudioManager.html
システムのオーディオフォーカスが更新されたときに呼び出されるコールバックインターフェース
AudioManager.OnAudioFocusChangeListener
インタフェース定義。
これを設定すると、onAudioFocusChange
メソッドが使用されます。 これは、他のものの中でモードの変化を検出します。
AudioManager.RINGER_MODE_CHANGED_ACTIONをリッスンしましたか? –
"ringerModeについて質問していないことに注意してください" –