在使用者返回主畫面或 就會切換至其他應用程式。前提是應用程式必須在主畫面提供「現正播放」資訊卡 。這張資訊卡可讓使用者瞭解音訊來源,並返回您的應用程式 控制媒體播放。
每當有
MediaSession
是
Android 架構的主畫面會顯示「聽聲辨曲」資訊卡。資訊卡
包含媒體中繼資料,例如專輯封面、名稱和應用程式圖示。使用者選取資訊卡時
系統會開啟應用程式
「聽聲辨曲」資訊卡
導入媒體工作階段後,請設定 啟動並要求音訊焦點,畫面上會顯示「聽聲辨曲」資訊卡。
注意:「聽聲辨曲」資訊卡只會顯示特定媒體相關資料
與
FLAG_HANDLES_TRANSPORT_CONTROLS
旗標已設定。這個旗標已在 API 級別 26 淘汰。不過,為了維持回溯相容性,舊型裝置可能仍須使用這個標記。
發生下列情況時,系統會將資訊卡從啟動器畫面中移除
setActive(false)
呼叫會停用媒體工作階段,或其他應用程式啟動媒體播放。如果播放為
媒體工作階段完全停止,而且沒有使用中的媒體,請停用媒體工作階段
立即生效如果暫停播放,請在延遲後停用媒體工作階段,
通常從 5 到 30 分鐘
更新卡片
每當應用程式更新 MediaSession
中的播放狀態時,
「聽聲辨曲」資訊卡會更新,顯示目前媒體的狀態。如要瞭解操作方法,請參閱:
更新播放狀態。
同樣地,您的應用程式也可以更新
要提供 MediaMetadata
提供目前媒體的「聽聲辨曲」資訊卡相關資訊,例如片名、副標題
各種不同的圖示如要瞭解操作方法,請參閱:
更新媒體中繼資料。
回應使用者動作
使用者選取「聽聲辨曲」資訊卡時,系統會開啟擁有該應用程式的應用程式
會很有幫助如果您的應用程式提供
PendingIntent
到
setSessionActivity()
,
系統會啟動您指定的活動,如以下程式碼片段所示。如果不是
就會開啟預設的系統意圖您指定的活動必須提供播放控制項,
可讓使用者暫停或停止播放。
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);
接受的用途
只有在使用者希望繼續播放音訊時,才能使用「聽聲辨曲」資訊卡 於離開應用程式時在背景播放遊戲中的影片播放或音效 。除非應用程式整合且符合子母畫面規定。