Wyświetl kartę Co jest grane

Aplikacje na telewizory, które odtwarzają dźwięk, mogą nadal to robić po powrocie użytkownika do ekranu głównego lub przełączeniu się na inną aplikację. Aby to zrobić, aplikacja musi udostępnić na ekranie głównym kartę Co jest grane. Dzięki niej użytkownicy wiedzą, skąd pochodzi dźwięk, i mogą wrócić do aplikacji, by sterować odtwarzaniem multimediów.

Jeśli występuje aktywny MediaSession, platforma Android wyświetla na ekranie głównym kartę Co jest grane. Karta zawiera metadane multimediów, takie jak okładka albumu, tytuł i ikona aplikacji. Gdy użytkownik wybierze kartę, system otworzy aplikację.

Karta Co jest grane

Po zaimplementowaniu sesji multimediów, ustawieniu sesji w trybie aktywnym i żądaniu skupienia się na dźwięku pojawi się karta Co jest grane.

Uwaga: karta Teraz odtwarzane wyświetla się tylko w przypadku sesji multimedialnej z ustawioną flagą FLAG_HANDLES_TRANSPORT_CONTROLS. Ta flaga jest wycofana od poziomu interfejsu API 26. Jednak w przypadku starszych urządzeń takie oznaczenie może być wymagane w celu zapewnienia wstecznej zgodności.

Karta jest usuwana z ekranu programu uruchamiającego, gdy wywołanie setActive(false) dezaktywuje sesję multimediów lub gdy inna aplikacja inicjuje odtwarzanie multimediów. Jeśli odtwarzanie zostanie całkowicie zatrzymane i nie będzie żadnych aktywnych multimediów, natychmiast wyłącz sesję multimediów. Jeśli odtwarzanie jest wstrzymane, dezaktywuj sesję multimediów po opóźnieniu, który zwykle trwa od 5 do 30 minut.

Zaktualizuj kartę

Za każdym razem, gdy aplikacja aktualizuje stan odtwarzania w MediaSession, karta Co jest grane aktualizuje się, aby pokazać stan bieżącego multimediów. Aby dowiedzieć się, jak to zrobić, przeczytaj artykuł o aktualizowaniu stanu odtwarzania.

W podobny sposób aplikacja może zaktualizować MediaMetadata, aby na karcie Teraz odtwarzane były dostępne informacje o bieżących multimediach, takich jak tytuł, podtytuł i różne ikony. Aby dowiedzieć się, jak to zrobić, przeczytaj artykuł o aktualizowaniu metadanych multimediów.

Reaguj na działanie użytkownika

Gdy użytkownik wybierze kartę Co jest grane, system otworzy aplikację, do której należy sesja. Jeśli aplikacja udostępnia PendingIntent do setSessionActivity(), system uruchamia wskazane przez Ciebie działanie, jak pokazano w tym fragmencie kodu. W przeciwnym razie otworzy się domyślna intencja systemowa. Określona aktywność musi zapewniać elementy sterujące odtwarzaniem, które pozwalają użytkownikom na wstrzymywanie i zatrzymywanie odtwarzania.

Kotlin

val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent ->
    PendingIntent.getActivity(
            context, 99 /*request code*/,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT
    )
}
session.setSessionActivity(pi)

Java

Intent intent = new Intent(context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
session.setSessionActivity(pi);

Akceptowane przypadki użycia

Karty Co jest grane należy używać tylko wtedy, gdy użytkownik spodziewa się, że po wyjściu z aplikacji dźwięk będzie nadal odtwarzany w tle. Odtwarzanie filmu lub dźwięku w grze powinno zawsze zostać wstrzymane, chyba że aplikacja została zintegrowana i jest zgodna z funkcją obraz w obrazie.