Lautstärke ändern Listener: Ist registerMediaButtonEventReceiver onKeyDown vorzuziehen?

Auf der Suche nach einer "umfassendsten und kompatibelsten (d. H. Alle Android-Versionen ...)" Möglichkeit, Lautstärkeveränderungen anzuhören, habe ich zwei verschiedene Ansätze gefunden, um damit umzugehen:

registerMediaButtonEventReceiveronKeyDown + SettingsContentObserver

Welche Methode ist vorzuziehen?

Und warum?

UPDATE 1: Dank des Kommentars unten habe ich herausgefunden, dass onKeyDown () tatsächlich funktioniertübernimmt Der Lautstärkeschlüssel, der möglicherweise keine vollständige Lösung darstellt, da in einem der Beiträge erwähnt wurde, dass die Lautstärke über andere Schnittstellen als die Hardwaretasten geändert werden könnte (ganz zu schweigen davon, dass Google diese "Übernahmefunktionen" allmählich zu beseitigen scheint).

OTOH, android.media.VOLUME_CHANGED_ACTION ist ein Hack undist nicht einmal dokumentiert. Was wahrscheinlich bedeutet, dass es wirdaufhören zu arbeiten in Android 5 oder so ...

UPDATE 2: registerMediaButtonEventReceiver funktioniert überhaupt nicht! (für dieLautstärketasten das heißt, ich habe es gerade versucht).

Zusätzliche Einsichten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage