「この曲なに?」カードを表示する

音声を再生する TV アプリは、ユーザーがホーム画面に戻った後も引き続き再生する場合がある。 別のアプリに切り替える。そのためには、アプリの家に [この曲なに?] カードが表示される必要があります。 表示されます。このカードにより、ユーザーは音声の出所を把握し、アプリに戻ってきて メディアの再生を操作する。

アクティブな MediaSession は Android フレームワークでは、ホーム画面に [この曲なに?] カードが表示されます。カード アルバムアート、タイトル、アプリアイコンなどのメディアのメタデータが含まれます。ユーザーがカードを選択すると システムがアプリを起動します。

「この曲なに?」カード

メディア セッションを実装したら、 音声フォーカスをリクエストすると、[この曲なに?] カードが表示されます。

注: [この曲なに?] カードはメディアについてのみ表示されます。 セッションを FLAG_HANDLES_TRANSPORT_CONTROLS 設定されます。このフラグは API レベル 26 で非推奨になりました。ただし、下位互換性のために、古いデバイスではこのフラグが引き続き必要になることがあります。

カードは、ランチャー画面から setActive(false) 呼び出しはメディア セッションを無効にするか、別のアプリがメディアの再生を開始したときに無効にします。再生が 完全に停止してアクティブなメディアがない場合は、メディア セッションを無効にします すぐに通知されます。再生が一時停止した場合は、しばらく待ってからメディア セッションを無効にします。 通常は 5 ~ 30 分です。

カードを更新する

アプリが MediaSession の再生状態を更新するたびに、 [この曲なに?] カードが更新され、現在のメディアの状態が表示されます。方法については、 再生状態を更新する

同様に、アプリで MediaMetadata: 提供 [この曲なに?] カードに、現在のメディアに関する情報(タイトル、サブタイトル、 さまざまなアイコンがあります方法については、 メディア メタデータを更新します

ユーザー アクションに応答する

ユーザーが [この曲なに?] カードを選択すると、 あります。アプリが PendingIntentsetSessionActivity(), システムは、次のコード スニペットに示すように、指定したアクティビティを起動します。そうでない場合 デフォルトのシステム インテントが開きます。指定するアクティビティでは、ユーザーが操作できる再生コントロールを ユーザーが再生を一時停止または停止できるようにします

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

受け入れられるユースケース

「この曲なに?」カードは、音声の続きをユーザーが期待している場合のみ使用してください。 バックグラウンドで再生されるモードです。ゲームの動画の再生や音声は、 アプリがピクチャー イン ピクチャーに統合され、準拠している場合を除き、一時停止します。