Ab Android 13 enthalten die Mediensteuerelemente in der System-UI aktualisierte Aktionsschaltflächen und die Remote-Wiedergabe. Diese Änderungen ermöglichen eine ausgefeiltere Mediensteuerung auf Smartphones und Tablets und ermöglichen nahtlose Medienübertragungen zwischen Geräten.
Aktualisierte Mediensteuerung
In diesem Abschnitt werden die Änderungen an den Mediensteuerungen in Android 13 für Aktionsschaltflächen und die Remote-Wiedergabe beschrieben.
Änderungen an Aktionsschaltflächen
Damit Nutzer auf eine Vielzahl von Mediensteuerelementen für Apps zugreifen können, die Medien abspielen, werden die Aktionsschaltflächen in den Mediensteuerelementen für Android 13 aus den Aktionsstatus von PlaybackState
abgeleitet.
Durch diese Änderung generiert die Funktion MediaDataManager#createActionsFromState
Informationen zu Aktionsschaltflächen basierend auf dem Aktionsstatus PlaybackState
.
Das entspricht der Darstellung von Mediensteuerelementen auf anderen Android-Plattformen wie Auto, Assistant und Wear.
In Android 12 wurden die Aktionsschaltflächen in den Mediensteuerelementen dagegen durch Benachrichtigungsaktionen bestimmt, die einer MediaStyle
-Benachrichtigung hinzugefügt wurden.
Eine Zusammenfassung der app-kompatiblen Änderungen an den Aktionsschaltflächen finden Sie unter StatusBarManager
.
Remote Playback API
Um eine einheitliche Mediennutzung auf verschiedenen Oberflächen zu ermöglichen, wird ab Android 13 eine neue System-API Notification#setRemotePlaybackInfo
hinzugefügt, mit der Medienbenachrichtigungen in der System-UI der Mediensteuerung für die Remotewiedergabe gekennzeichnet werden können. Mit dieser API können System-Apps, die die Benachrichtigungen posten, Folgendes tun:
- Stellen Sie Informationen und Funktionen für Medien, die von einem Remote-Gerät stammen, für die Standardausgabeauswahl auf der Mediensteuerung bereit.
- Ersetzen Sie bei Bedarf die Auswahlschaltfläche für die Ausgabe.
System-Apps, die diese Benachrichtigung verwenden, benötigen die Berechtigung MEDIA_CONTENT_CONTROL
.
Die Notification#setRemotePlaybackInfo
API fügt außerdem den folgenden extras
hinzu, um den Namen, das Symbol und die Absicht des Geräts für die Remote-Wiedergabe zu bestimmen:
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
Anhand dieser Informationen kann die System-UI die Geräteinformationen des Standard-Ausgabeschalter-Chips ersetzen und das Mediensteuerelement für die Remote-Wiedergabe an das Ende der Liste der lokalen Mediensteuerelemente setzen.
Implementierung der Mediensteuerung
OEMs müssen sich dieser Änderung des Standardverhaltens bewusst sein, da sie sich auf die Generierung von Mediensteuerelementen für Apps auswirkt. OEMs müssen außerdem dafür sorgen, dass die neue System-API in ihrer Ausgabe-Umschalter-Affordance funktioniert.
OEMs müssen keine Änderungen vornehmen und können die Standardimplementierung in AOSP verwenden.
Wiedergabe per Fernzugriff anpassen
Wenn der OEM eine System-App hat, die Benachrichtigungen zur Remote-Medienwiedergabe sendet, kann die App optional setRemotePlaybackInfo
für die Benachrichtigung aufrufen, sofern ihr die Berechtigung MEDIA_CONTENT_CONTROL
gewährt wurde. Das ist jedoch keine Voraussetzung und der Partner kann entscheiden, keine Anpassungen vorzunehmen.
Validierung der Mediensteuerung
Führen Sie einen manuellen Test durch, um Folgendes zu prüfen:
- Die Tasten funktionieren beim Abspielen von Medien aus einer App wie vorgesehen.
- In der Ausgabeauswahl werden die korrekten Geräteinformationen angezeigt.
Verwende die folgenden Tests, um die Remote-Wiedergabe-API zu validieren:
- CTS-Tests in
NotificationManagerTest
, z. B.testMediaStyleRemotePlayback_noPermission
undtestMediaStyleRemotePlayback_hasPermission
- Einheitentests unter
com.android.systemui.media
.
Empfehlungen finden Sie in der neuen Anforderung an die Nutzungsbedingungen [3.8.3.1/H-1-SR].