6

Ich möchte eine Medienstilbenachrichtigung für eine Musik-App erstellen, die ich erstelle, aber ich möchte auch ältere Android-Nutzer (ICS) berücksichtigen. Ich möchte, dass es Play/Pause-Steuerelemente enthält.Was ist der beste Weg, um eine Medienstilbenachrichtigung für Android Lollipop zu erstellen, während die Abwärtskompatibilität berücksichtigt wird?

Was ist der beste Weg, dass ich das tun kann? Sollte ich eine benutzerdefinierte Benachrichtigung für jemanden unter Android Lollipop erstellen und eine Medienstilbenachrichtigung für Android Lollipop verwenden? Oder soll ich einfach eine benutzerdefinierte Benachrichtigung für beide machen? Die Verwendung von NotificationCompat scheint nach ein wenig Experimentieren nicht möglich zu sein.

Alle Beispiele würden sehr geschätzt werden.

Antwort

1

Während beide funktionieren, würde ich vorschlagen, den ersten Ansatz zu verwenden. Es sieht nicht wie die Absicht der Zugabe von Mediastyle Unterstützung NotificationCompat jederzeit bald, bezogen auf die Note here aufgeführt, in dem es heißt:

Hinweis: Die Vorlage und die addAction() -Methode sind nicht enthalten in die Support-Bibliothek, so dass diese Funktionen nur in Android 5.0 und höher ausgeführt werden.

In meinem Fall habe ich einen boolean, die die API-Ebene identifiziert:

boolean mIsLollipopOrAbove = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; 

Wenn es darum geht, die Benachrichtigung zu machen, überprüfe ich nur, dass und entweder eine benutzerdefinierte Benachrichtigung verwenden oder den Mediastyle bauen Benachrichtigung basierend auf der Android-Version, die der Benutzer ausführt Zur Unterstützung von Sperrbildschirmsteuerelementen verwende ich die neueste Version der Unterstützungsbibliotheken und interagiere mit MediaSessionCompat, das den RemoteControlClient weiterhin unter der Haube verwendet, wenn dies auf Pre-Lollipop-Geräten erforderlich ist. Sie können das Token für Ihre MediaSessionCompat an die MediaStyle-Benachrichtigung übergeben, die das Aktualisieren des Sperrbildschirmabbilds basierend auf dem wiedergegebenen Medium erleichtert.