向“接下来观看”频道添加节目

“接下来观看”频道是显示在主屏幕上应用行之后的第二行。此频道由系统创建和维护。您的应用可以向“接下来观看”频道添加节目,包括用户标记为感兴趣的节目、用户中途停止观看的节目,以及与用户正在观看的内容相关的节目(例如连续剧的下一集或节目的下一季)。

“接下来观看”频道有一些限制:您的应用无法移动、移除或隐藏“接下来观看”频道的行。

步骤

将节目插入“接下来观看”频道与将节目插入您自己的频道类似。如需了解与“接着看”功能相关的具体详情,请参阅以下部分。

将内容插入“接下来观看”频道时,您必须遵循以下准则:

选择节目类型

“接下来观看”节目有四种类型。请选择合适的类型:

类型 备注
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。