Ab Android 13 enthalten die Mediensteuerelemente in der System-UI Aktualisierungen für Aktionsschaltflächen und die Remote-Wiedergabe. Diese Änderungen sorgen für eine optimierte Mediensteuerung auf Smartphones und Tablets und ermöglichen eine nahtlose Medienübertragung zwischen Geräten.
Aktualisierungen bei der Mediensteuerung
In diesem Abschnitt werden die Änderungen an den Media-Steuerelementen 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 wiedergeben, werden Aktionsschaltflächen in Mediensteuerelementen für Android 13 aus den PlaybackState
-Aktionsstatus abgeleitet.
Mit dieser Änderung generiert die Funktion MediaDataManager#createActionsFromState
Informationen zu Aktionsschaltflächen basierend auf dem Aktionsstatus PlaybackState
.
Dies entspricht der Darstellung der Mediensteuerung 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 Änderungen, die für die App-Kompatibilität aufgrund der Aktualisierungen der Aktionstaste erforderlich sind, finden Sie unter StatusBarManager
.
Remote Playback API
Um auf verschiedenen Oberflächen ein einheitliches Media-Erlebnis zu bieten, wird ab Android 13 eine neue System-API Notification#setRemotePlaybackInfo
hinzugefügt, um Media-Benachrichtigungen in der System-UI für die Media-Steuerung für die Remote-Wiedergabe zu kennzeichnen. Mit dieser API können System-Apps, die die Benachrichtigungen senden, Folgendes tun:
- Stellt Informationen und Funktionen für Medien bereit, die von einem Remote-Gerät stammen, und zwar für die Standardausgabewechsel-Schaltfläche in der Mediensteuerung.
- Ersetzen Sie gegebenenfalls die Schaltfläche für die Ausgabeauswahl.
System-Apps, die diese Benachrichtigung verwenden, müssen die Berechtigung MEDIA_CONTENT_CONTROL
haben.
Mit der Notification#setRemotePlaybackInfo
API werden auch die folgenden extras
hinzugefügt, um den Namen, das Symbol und die Intention des Remote-Wiedergabegeräts 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-Ausgabewahlschalter-Chips ersetzen und die Mediensteuerung für die Remote-Wiedergabe am Ende der Liste der lokalen Mediensteuerungen hinzufügen.
Implementierung der Mediensteuerung
OEMs müssen sich dieser Änderung des Standardverhaltens bewusst sein, da sie sich darauf auswirkt, wie Media-Steuerelemente für Apps generiert werden. Außerdem müssen OEMs dafür sorgen, dass die neue System-API in ihrer Ausgabewahlschaltfläche wie vorgesehen funktioniert.
OEMs müssen keine Änderungen vornehmen und können die Standardimplementierung in AOSP verwenden.
Wiedergabe auf einem Remote-Gerät anpassen
Wenn der OEM eine System-App hat, die Benachrichtigungen zur Wiedergabe von Medien auf einem Remote-Gerät sendet, kann die App optional setRemotePlaybackInfo
für Benachrichtigungen aufrufen, sofern ihr die Berechtigung MEDIA_CONTENT_CONTROL
erteilt wurde. Dies ist jedoch keine Voraussetzung und der Partner kann sich dagegen entscheiden.
Validierung der Mediensteuerung
Wenn Sie die Mediensteuerung in der System-UI testen möchten, führen Sie einen manuellen Test durch, um Folgendes zu prüfen:
- Die Tasten funktionieren wie vorgesehen, wenn Medien über eine App wiedergegeben werden.
- Die Geräteinformationen werden in der Ausgabewahl korrekt angezeigt.
Verwende die folgenden Tests, um die Remote Playback API zu validieren:
- CTS-Tests in
NotificationManagerTest
, z. B.testMediaStyleRemotePlayback_noPermission
undtestMediaStyleRemotePlayback_hasPermission
. - Unittests unter
com.android.systemui.media
.
Weitere Informationen finden Sie in der neuen CDD-Anforderung [3.8.3.1/H-1-SR].