Ne Çalıyor? kartını görüntüleme

TV uygulamaları, başlatıcının arkasında veya arka planda medya oynatırken Şimdi Oynatılıyor kartı görüntülemelidir. Bu kart, kullanıcıların o anda medya oynatan uygulamaya geri dönmesini sağlar.

Android çerçevesi, etkin bir MediaSession olduğunda ana ekranda Ne Çalıyor? kartını görüntüler. Kartta albüm resmi, başlık ve uygulama simgesi gibi medya meta verileri yer alır. Kullanıcı kartı seçtiğinde sistem uygulamayı açar.

Ne Çalıyor? kartını uygulamak için MediaSession sınıfını kullanabilirsiniz.

Şekil 1. Arka planda medya oynatırken Şimdi Oynatılıyor kartı görüntüleyin.

Ne Çalıyor? kartı

Bir medya oturumu uyguladıktan, oturumu etkin olarak ayarladıktan ve ses odağı isteğinde bulunduktan sonra, Şimdi Çalınıyor kartı görüntülenir.

Not: Şimdi Oynatılıyor kartı yalnızca FLAG_HANDLES_TRANSPORT_CONTROLS işareti ayarlanmış bir medya oturumu için görüntülenir. Bu işaret, API düzeyi 26'da kullanımdan kaldırılmıştır. Bununla birlikte, bu işaret eski cihazlarda geriye dönük uyumluluk için hâlâ gerekli olabilir.

setActive(false) çağrısı medya oturumunu devre dışı bıraktığında veya başka bir uygulama medya oynatmayı başlattığında, kart başlatıcı ekranından kaldırılır. Oynatma tamamen durdurulduysa ve etkin medya yoksa medya oturumunu hemen devre dışı bırakın. Oynatma duraklatılırsa bir gecikmenin ardından (genellikle 5-30 dakika) medya oturumunu devre dışı bırakın.

Kartı güncelle

Uygulamanız MediaSession içindeki oynatma durumunu her güncellediğinde Ne Çalıyor? kartı güncel medyanın durumunu gösterecek şekilde güncellenir. Bunu nasıl yapacağınızı öğrenmek için Oynatma durumunu güncelleme bölümüne bakın.

Benzer şekilde, uygulamanız MediaMetadata simgesini güncelleyerek Şimdi Oynatılıyor kartına başlık, alt başlık ve çeşitli simgeler gibi mevcut medya hakkında bilgi sağlayabilir. Bunu nasıl yapacağınızı öğrenmek için Medya meta verilerini güncelleme bölümüne bakın.

Kullanıcı işlemine yanıt verme

Kullanıcı Ne Çalıyor? kartını seçtiğinde, sistem oturumun sahibi olan uygulamayı açar. Uygulamanız setSessionActivity() için bir PendingIntent sağlıyorsa sistem, belirttiğiniz etkinliği aşağıdaki kod snippet'inde gösterildiği gibi başlatır. Açılmazsa varsayılan sistem amacı açılır. Belirttiğiniz etkinlik, kullanıcıların oynatmayı duraklatmasına veya durdurmasına olanak tanıyan oynatma kontrolleri sağlamalıdır.

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