“接下来观看”频道是显示在主屏幕上应用行之后的第二行。此频道由系统创建和维护。您的应用可以向“接下来观看”频道添加节目,包括用户标记为感兴趣的节目、用户中途停止观看的节目,以及与用户正在观看的内容相关的节目(例如连续剧的下一集或节目的下一季)。
“接下来观看”频道有一些限制:您的应用无法移动、移除或隐藏“接下来观看”频道的行。
步骤
将节目插入“接下来观看”频道与将节目插入您自己的频道类似。如需了解与“接着看”功能相关的具体详情,请参阅以下部分。
将内容插入“接下来观看”频道时,您必须遵循以下准则:
选择节目类型
“接下来观看”节目有四种类型。请选择合适的类型:
| 类型 | 备注 |
|---|---|
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_MOVIE)
.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_MOVIE)
.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 包含两个 extra:复制的节目 ID 和为“接下来观看”频道中的节目创建的节目 ID。