Menampilkan kartu Now Playing

Aplikasi TV yang memutar audio dapat terus melakukannya setelah pengguna kembali ke layar utama atau akan beralih ke aplikasi lain. Untuk melakukannya, aplikasi harus menyediakan kartu Now Playing di rumah layar. Kartu ini memungkinkan pengguna memahami asal audio dan kembali ke aplikasi Anda untuk mengontrol pemutaran media.

Setiap kali permintaan MediaSession sama dengan framework Android menampilkan kartu Now Playing di layar utama. Kartu menyertakan metadata media, seperti gambar album, judul, dan ikon aplikasi. Saat pengguna memilih kartu, sistem akan membuka aplikasi.

Kartu Now Playing

Setelah Anda menerapkan sesi media, setel sesi menjadi aktif, dan meminta fokus audio, kartu Now Playing akan muncul.

Catatan: Kartu Now Playing hanya ditampilkan untuk media sesi dengan FLAG_HANDLES_TRANSPORT_CONTROLS penanda disetel. Flag ini tidak digunakan lagi di level API 26. Namun, tanda ini masih dapat diperlukan di perangkat lama untuk kompatibilitas mundur.

Kartu akan dihapus dari layar peluncur saat setActive(false) menonaktifkan sesi media atau saat aplikasi lain memulai pemutaran media. Jika pemutaran adalah sepenuhnya berhenti dan tidak ada media yang aktif, nonaktifkan sesi media segera. Jika pemutaran dijeda, nonaktifkan sesi media setelah penundaan, biasanya antara 5 hingga 30 menit.

Memperbarui kartu

Setiap kali aplikasi Anda memperbarui status pemutaran di MediaSession, Kartu Now Playing akan diperbarui untuk menampilkan status media saat ini. Untuk mempelajari cara melakukannya, lihat Memperbarui status pemutaran.

Demikian pula, aplikasi Anda dapat memperbarui MediaMetadata untuk diberikan informasi ke kartu Now Playing tentang media saat ini, seperti judul, subtitel, dan berbagai ikon. Untuk mempelajari cara melakukannya, lihat Memperbarui metadata media.

Merespons tindakan pengguna

Saat pengguna memilih kartu Now Playing, sistem akan membuka aplikasi yang memiliki sesi. Jika aplikasi Anda menyediakan PendingIntent hingga setSessionActivity(), sistem akan meluncurkan aktivitas yang Anda tetapkan, seperti yang ditunjukkan dalam cuplikan kode berikut. Jika tidak, intent sistem default akan terbuka. Aktivitas yang Anda tetapkan harus menyediakan kontrol pemutaran yang membiarkan pengguna menjeda atau menghentikan pemutaran.

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);

Kasus penggunaan yang dapat diterima

Kartu Now Playing hanya boleh digunakan jika pengguna ingin audio dilanjutkan yang sedang diputar di latar belakang saat Anda keluar dari aplikasi. Pemutaran video atau suara dari game harus selalu akan dijeda, kecuali aplikasi terintegrasi dan sesuai dengan fitur picture-in-picture.