“接下来观看”频道显示在主屏幕上的第二行,位于应用行下方。此频道由系统创建和维护。您的应用可以向“接下来观看”频道添加节目,比如用户标记为感兴趣的节目,用户观看到中间停止的节目或者与用户正在观看的内容相关的节目(例如电视连续剧的下一集或节目的下一季)。
“接下来观看”频道有一些限制:您的应用无法移动、移除或隐藏“接下来观看”频道所在的行。
步骤
将节目插入“接下来观看”频道的操作和将节目插入您自己的频道类似。请参阅以下部分,详细了解“接下来观看”频道。
将内容插入“接下来观看”频道时,您必须遵循以下准则:
选择节目类型
“接下来观看”节目有四种类型。请选择合适的类型:
类型 | 备注 |
---|---|
WATCH_NEXT_TYPE_CONTINUE | 用户在观看过程中停止播放。 |
WATCH_NEXT_TYPE_NEXT | 用户观看的电视连续剧的下一集已可供观看。例如,如果用户正在观看一部电视连续剧的第 3 集,应用可以建议用户接下来观看第 4 集。 |
WATCH_NEXT_TYPE_NEW | 明确排在用户观看的内容后面的新内容现已可供观看。例如,用户正在观看一部电视连续剧的第 5 集,而第 6 集已可供观看。 |
WATCH_NEXT_TYPE_WATCHLIST | 由系统或应用在用户保存节目时插入。 |
如需了解详情,请参阅“接下来观看”属性。
使用 WatchNextProgram 构建器
请使用 WatchNextProgram.Builder
。如需了解详情,请参阅“接下来观看”属性。
Kotlin
val builder = WatchNextProgram.Builder() builder.setType(TvContractCompat.WatchNextPrograms.TYPE_CLIP) .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE) .setLastEngagementTimeUtcMillis(time) .setTitle("Title") .setDescription("Program description") .setPosterArtUri(uri) .setIntentUri(uri) .setInternalProviderId(appProgramId) val watchNextProgramUri = context.contentResolver .insert(TvContractCompat.WatchNextPrograms.CONTENT_URI, builder.build().toContentValues())
Java
WatchNextProgram.Builder builder = new WatchNextProgram.Builder(); builder.setType(TvContractCompat.WatchNextPrograms.TYPE_CLIP) .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE) .setLastEngagementTimeUtcMillis(time) .setTitle("Title") .setDescription("Program description") .setPosterArtUri(uri) .setIntentUri(uri) .setInternalProviderId(appProgramId); Uri watchNextProgramUri = context.getContentResolver() .insert(TvContractCompat.WatchNextPrograms.CONTENT_URI, builder.build().toContentValues());
请使用 TvContractCompat.buildWatchNextProgramUri(long watchNextProgramId)
来创建更新“接下来观看”节目所需的 Uri
。
当用户向“接下来观看”频道添加节目时,系统会将该节目添加到相应的行。系统会发送 intent TvContractCompat.ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT
通知应用添加了节目。该 intent 包含两个提取项:复制的节目 ID 和在“接下来观看”频道中为相应节目创建的节目 ID。