Meine App streamt Musik, und ich möchte von jedem Bluetooth-Gerät, das diese Tasten unterstützt (Auto, Headset usw.), anhalten / abspielen / überspringen können. Wenn die Verbindung über das Bluetooth eines Autos hergestellt wird, kommt der Ton automatisch durch, aber die Steuertasten haben keinen Einfluss auf den Audiostream meiner App. Stattdessen öffnet es den Standard-Media-Player. Wie leite ich diese Schaltflächen an meine App?
Haben Sie in Ihrer App ein BroadcastReceiver
registriert, um MEDIA_BUTTON
-Ereignisse mit AudioManager.registerMediaButtonEventReceiver()
?
Nach der Registrierung können die Ereignisse der Schaltfläche bearbeitet werden, indem das in den Extras angehängte KeyEvent
-Objekt als EXTRA_KEY_EVENT
verarbeitet wird. Zum Beispiel:
Dieser Blog-Eintrag für Android-Entwickler hat auch einige nette Ideen Informationen zum Thema.
Bitte beachten Sie neben der akzeptierten Antwort , dass einer der Keycodes in Ice Cream Sandwich geändert wurde:
Der Schlüsselcode, der für die Wiedergabe / Pause-Absicht übergeben wird, hat sich geändert ICS. Sieh dir das an Ссылка
Der Schlüsselcode, der vor ICS gesendet wurde, war KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE. Jetzt gibt es zwei separate Tastencodes für Wiedergabe und Pause (126 und 127).
Es sendet KEYCODE_MEDIA_PLAY (126) und KEYCODE_MEDIA_PAUSE (127).