Wie zu erfassen, wichtige Ereignisse aus bluetooth-headset mit android

Meine app gesteuert werden kann durch normale Kopfhörer. Es ist einfach überschreibt "onKeyDown". Aber wichtige Ereignisse aus bluetooth-headset nicht aufgenommen - warum? Oder wie capture bluetooth-Schlüssel-Ereignisse?

den "log cat" zeigt Folgendes an, wenn ich drücken Sie die Taste am headset:

Bluetooth AT recv(3043): AT+VGS=15
AudioPolicyManagerBase(13654): FM radio recording off
AudioService(2261): sendVolumeUpdate, isKeyguardLocked...Not to update Volume Panel.
VolumePanel(2261): change volume by MSG_VOLUME_CHANGED
VolumePanel(2261): onVolumeChanged(streamType: 6, flags: 0)
VolumePanel(2261): Call setChangeSeekbarColor(false)

versuchte ich auch, mit Medien umzugehen Schaltfläche Aktionen, aber das funktioniert nicht. meine Idee ist eine frei konfigurierbare Tastenbelegung: der Benutzer wählt "set-Taste" meine app hört auf alle Schlüssel (hardware -, media-Tasten, bluetooth-headset), dann der Benutzer drückt eine Taste, und die Ereignis - /Schlüssel-code, gespeichert in der config.

Summerizing nicht funktioniert Antworten:
Lautstärke-Tasten erfasst werden muss "VOLUME_CHANGED_ACTION". Das problem ist, diese Absichten ausgestrahlt werden, um andere apps und abortBroadcast() funktioniert nicht (es funktioniert nur für die "bestellt" - Sendungen). Ein weiteres problem ist, dass die Tasten auf dem Kabel-headset und auf dem Telefon auslösen onReceive() zweimal (warum?) das bluetooth-headset trigger einmal.
Das nächste Problem ist die 3. Taste am Bluetooth-headset. Es löst voice-Befehl (s-voice startet auf s3), ich habe versucht, viele verschiedene Absichten in Bezug auf diese, aber ich kann nicht "erhalten" diese Taste drücken und weiß nicht warum.
Am Ende möchte ich erfassen alle Arten von Tasten und will Sie nicht behandelt, die von anderen apps (wie mit onKeyDown und "true" zurückgeben).

InformationsquelleAutor der Frage dermoritz | 2013-07-23

Schreibe einen Kommentar