A partire da Android 13, i controlli multimediali nell'interfaccia utente del sistema contengono aggiornamenti ai pulsanti di azione e alla riproduzione remota. Queste modifiche supportano un'esperienza di controllo multimediale più raffinata su telefoni e tablet e offrono trasferimenti multimediali senza interruzioni tra dispositivi.
Aggiornamenti ai controlli multimediali
Questa sezione descrive gli aggiornamenti apportati ai controlli multimediali in Android 13 per i pulsanti di azione e la riproduzione remota.
Il pulsante di azione cambia
Per garantire che gli utenti possano accedere a un set completo di controlli multimediali per le app che riproducono contenuti multimediali, i pulsanti di azione sui controlli multimediali per Android 13 derivano dagli stati di azione PlaybackState
. Con questa modifica, la funzione MediaDataManager#createActionsFromState
genera informazioni sui pulsanti di azione in base allo stato dell'azione PlaybackState
. Ciò è in linea con il modo in cui i controlli multimediali vengono visualizzati in altre piattaforme Android come Auto, Assistant e Wear.
Al contrario, in Android 12, i pulsanti di azione sui controlli multimediali erano determinati dalle azioni di notifica aggiunte a una notifica MediaStyle
.
Per un riepilogo delle modifiche compatibili con l'app per gli aggiornamenti dei pulsanti di azione, vedere StatusBarManager
.
API di riproduzione remota
Per offrire un'esperienza multimediale coerente su una varietà di superfici, a partire da Android 13, viene aggiunta una nuova Notification#setRemotePlaybackInfo
per contrassegnare le notifiche multimediali sull'interfaccia utente del sistema di controllo multimediale per la riproduzione remota. Questa API consente alle app di sistema che pubblicano le notifiche di eseguire quanto segue:
- Fornire informazioni e funzionalità per i contenuti multimediali originati su un dispositivo remoto al commutatore di output predefinito sul controllo multimediale.
- Se necessario, sostituire l'affordance del commutatore di uscita.
Le app di sistema che utilizzano questa notifica devono disporre dell'autorizzazione MEDIA_CONTENT_CONTROL
.
L'API Notification#setRemotePlaybackInfo
aggiunge inoltre i seguenti extras
per determinare il nome, l'icona e l'intento del dispositivo di riproduzione remota:
-
Notification#EXTRA_MEDIA_REMOTE_DEVICE
-
Notification#EXTRA_MEDIA_REMOTE_ICON
-
Notification#EXTRA_MEDIA_REMOTE_INTENT
Con queste informazioni, l'interfaccia utente del sistema può sostituire le informazioni sul dispositivo del chip del commutatore di output predefinito e aggiungere il controllo multimediale per la riproduzione remota alla fine dell'elenco dei controlli multimediali locali.
Implementazione del controllo dei media
Gli OEM devono essere consapevoli di questa modifica al comportamento predefinito, poiché influisce sulla modalità di generazione dei controlli multimediali per le app. Gli OEM devono inoltre garantire che la nuova API di sistema funzioni come applicabile nella disponibilità del loro commutatore di output.
Agli OEM non è richiesto di apportare modifiche e possono utilizzare l' implementazione predefinita in AOSP.
Personalizzazione della riproduzione remota
Nei casi in cui l'OEM dispone di un'app di sistema che pubblica notifiche di riproduzione multimediale remota, l'app può facoltativamente chiamare setRemotePlaybackInfo
per la notifica purché le sia stata concessa l'autorizzazione MEDIA_CONTENT_CONTROL
. Tuttavia, questo non è un requisito e il partner può scegliere di non personalizzare.
Convalida del controllo dei media
Per testare il controllo multimediale nell'interfaccia utente del sistema, eseguire un test manuale per convalidare quanto segue:
- I pulsanti funzionano come previsto durante la riproduzione multimediale da un'app.
- Il commutatore di uscita visualizza le informazioni corrette sul dispositivo.
Utilizza i seguenti test per convalidare l'API di riproduzione remota:
- Test CTS in
NotificationManagerTest
, cometestMediaStyleRemotePlayback_noPermission
etestMediaStyleRemotePlayback_hasPermission
. - Test unitari in
com.android.systemui.media
.
Fare riferimento al nuovo requisito CDD [3.8.3.1/H-1-SR] per le raccomandazioni.