如果您完全熟悉电视输入框架和直播频道以及家庭频道节目预览,那么我有个问题要问您。我正在尝试创建一个主屏幕频道,该频道将通过我们的电视输入服务列出最近观看的直播频道。我可以列出它们很好,但是似乎无法将预览程序启动到指定的“实时频道”中。有谁知道该怎么做?
Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.google.android.tv");
intent.setAction(Intent.ACTION_VIEW);
intent.setData(TvContract.buildChannelUri(channel.getId()));
答案 0 :(得分:0)
深入研究LiveChannel的来源之后,我找到了答案
static long addPreviewProgram(Context context, long homeChannelId, Uri liveChannelUri){
PreviewProgram.Builder builder = new PreviewProgram.Builder();
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.google.android.tv", "com.android.tv.MainActivity"));
intent.setAction(Intent.ACTION_VIEW);
intent.setData(liveChannelUri);
builder.setChannelId(homeChannelId)
.setType(PreviewPrograms.TYPE_CLIP)
.setIntent(intent);
Uri programUri = context.getContentResolver().insert(PreviewPrograms.CONTENT_URI, builder.build().toContentValues());
return ContentUris.parseId(programUri);
}
意图动作和频道设置发生在LiveChannel的MainActivity中,但MainActivity不是启动程序活动,因此您必须将其指定为要启动到的活动。必须将动作设置为Intent.ACTION_VIEW,否则将永远不会设置频道。