Począwszy od Androida 13 opcje sterowania multimediami w interfejsie systemu obejmują aktualizacje przycisków poleceń i zdalnego odtwarzania. Te zmiany pozwalają na bardziej precyzyjne sterowanie multimediami na telefonach i tabletach oraz umożliwiają płynne przenoszenie multimediów między urządzeniami.
Aktualizacje opcji sterowania multimediami
W tej sekcji opisujemy zmiany wprowadzone w elementach sterujących multimediów w Androidzie 13 dotyczące przycisków poleceń i odtwarzania zdalnego.
Zmiany przycisku polecenia
Aby zapewnić użytkownikom dostęp do bogatego zestawu elementów sterujących multimediami w aplikacjach odtwarzających multimedia, przyciski akcji w elementach sterujących multimediami w Androidzie 13 pochodzą ze stanów akcji PlaybackState
.
Dzięki tej zmianie funkcja MediaDataManager#createActionsFromState
generuje informacje o przycisku działania na podstawie stanu działania PlaybackState
.
Jest to zgodne ze sposobem wyświetlania elementów sterujących multimediami na innych platformach Androida, takich jak Auto, Asystent czy Wear.
W Androidzie 12 przyciski poleceń w opcjach sterowania multimediami były określane przez działania powiadomienia dodane do powiadomienia MediaStyle
.
Podsumowanie zmian w przyciskach akcji zgodnych z aplikacją znajdziesz w artykule StatusBarManager
.
Interfejs API odtwarzania zdalnego
Aby zapewnić spójne odtwarzanie multimediów na różnych urządzeniach, od Androida 13 dodano nowy interfejs API Notification#setRemotePlaybackInfo
, który umożliwia oznaczanie powiadomień multimedialnych w interfejsie systemu do sterowania multimediami w przypadku odtwarzania zdalnego. Ten interfejs API umożliwia aplikacjom systemowym, które publikują powiadomienia, wykonywanie tych czynności:
- Przekazywanie informacji i funkcji dotyczących multimediów pochodzących z urządzenia zdalnego do domyślnego przełącznika wyjścia w opcjach sterowania multimediami.
- W razie potrzeby zastąp afordancję przełącznika wyjścia.
Aplikacje systemowe, które używają tego powiadomienia, muszą mieć uprawnienie MEDIA_CONTENT_CONTROL
.
Interfejs API Notification#setRemotePlaybackInfo
dodaje też te extras
, aby określić nazwę, ikonę i intencję urządzenia do zdalnego odtwarzania:
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
Dzięki tym informacjom interfejs systemu może zastąpić domyślny element sterujący przełącznikiem wyjścia informacjami o urządzeniu i dodać element sterujący odtwarzaniem zdalnym na końcu listy lokalnych elementów sterujących multimediów.
Wdrożenie sterowania multimediami
Producenci OEM muszą wiedzieć o tej zmianie domyślnego działania, ponieważ wpływa ona na sposób generowania elementów sterujących multimediami w aplikacjach. OEM musi też dopilnować, aby nowy systemowy interfejs API działał w sposób zgodny z wymaganiami przełącznika danych wyjściowych.
Producenci OEM nie muszą wprowadzać żadnych zmian i mogą korzystać z implementacji domyślnej w AOSP.
Dostosowywanie odtwarzania na urządzeniu sterującym
Jeśli producent OEM ma aplikację systemową, która wysyła powiadomienia o odtwarzaniu multimediów z dalszej odległości, aplikacja może opcjonalnie wywołać funkcję setRemotePlaybackInfo
, o ile tylko ma przyznane uprawnienie MEDIA_CONTENT_CONTROL
. Nie jest to jednak wymagane, a partner może zrezygnować z personalizacji.
Weryfikacja sterowania multimediami
Aby przetestować sterowanie multimediami w interfejsie System UI, uruchom test ręczny, aby sprawdzić te elementy:
- przyciski działają zgodnie z oczekiwaniami podczas odtwarzania multimediów z aplikacji;
- Przełącznik wyjścia wyświetla prawidłowe informacje o urządzeniu.
Aby zweryfikować interfejs API odtwarzania zdalnego, wykonaj te testy:
- testy CTS w
NotificationManagerTest
, np.testMediaStyleRemotePlayback_noPermission
itestMediaStyleRemotePlayback_hasPermission
. - Testy jednostkowe w sekcji
com.android.systemui.media
.
Zalecenia znajdziesz w nowym wymaganiu dotyczącym CDD [3.8.3.1/H-1-SR].