Aplikasi TV yang memutar audio dapat terus melakukannya setelah pengguna kembali ke layar utama atau beralih ke aplikasi lain. Untuk melakukannya, aplikasi harus menyediakan kartu Now Playing di layar utama. Kartu ini memungkinkan pengguna memahami asal audio dan kembali ke aplikasi Anda untuk mengontrol pemutaran media.
Setiap kali
aktif MediaSession ada, framework Android akan menampilkan kartu Now Playing di layar utama. Kartu ini mencakup 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, tetapkan sesi ke aktif, dan minta fokus audio, kartu Now Playing akan muncul.
Catatan: Kartu Now Playing hanya ditampilkan untuk sesi media dengan tanda FLAG_HANDLES_TRANSPORT_CONTROLS yang ditetapkan. Tanda ini tidak digunakan lagi di level API 26. Namun, tanda ini mungkin masih diperlukan di perangkat lama untuk kompatibilitas mundur.
Kartu akan dihapus dari layar peluncur saat panggilan
setActive(false)
menonaktifkan sesi media atau saat aplikasi lain memulai pemutaran media. Jika pemutaran dihentikan sepenuhnya dan tidak ada media yang aktif, segera nonaktifkan sesi media. Jika pemutaran dijeda, nonaktifkan sesi media setelah penundaan,
biasanya dari 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 memberikan
informasi ke kartu Now Playing tentang media saat ini, seperti judul, subtitle,
dan berbagai ikon. Untuk mempelajari cara melakukannya, lihat
Memperbarui metadata media.
Merespons tindakan pengguna
Ketika pengguna memilih kartu Now Playing, sistem akan membuka aplikasi yang memiliki
sesi tersebut. Jika aplikasi Anda menyediakan
PendingIntent ke
setSessionActivity(),
sistem akan meluncurkan aktivitas yang Anda tentukan, seperti yang ditunjukkan dalam cuplikan kode berikut. Jika tidak,
intent sistem default akan terbuka. Aktivitas yang Anda tentukan harus menyediakan kontrol pemutaran yang
memungkinkan 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 or PendingIntent.FLAG_IMMUTABLE ) } 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 diterima
Kartu Now Playing hanya boleh digunakan jika pengguna berharap audio terus diputar di latar belakang saat keluar dari aplikasi Anda. Pemutaran video atau suara dari game harus selalu dijeda, kecuali jika aplikasi Anda terintegrasi dan mematuhi mode picture-in-picture.