Я работаю в приложении «Рекомендации по телевидению / Каналы на главном экране».
Я успешно показал список программ из моего приложения на главном экране Android TV и могу запускать VideoPlaybackActivity, когда пользователь выбирает любую из программ.с главного экрана.
Проблема: Невозможно запустить конкретное видео, выбранное пользователем на главном экране
Вот код, который я написал для запуска программв VideoListingActivity
public void dynamicPrograms() {
for (Movie movie : movieArrayListHomeScreen) {
Uri posterArtUri = Uri.parse(movie.getImageUrl(Movie.IMAGE_ICON));
Uri previewVideoUri = Uri.parse(movie.getPlaybackUrl());
PreviewProgram program = new PreviewProgram.Builder()
.setChannelId(channelId)
.setType(TvContractCompat.PreviewPrograms.TYPE_MOVIE)
.setTitle(movie.getName())
.setDescription(movie.getName() + " description goes here")
.setPosterArtUri(posterArtUri)
//.setPreviewVideoUri(previewVideoUri)
.setInternalProviderId(String.valueOf(movie.getId()))
.setContentId(String.valueOf(movie.getId()))
.setIntentUri(Uri.parse(SCHEME + "://" + APPS_LAUNCH_HOST
+ "/" + PLAY_VIDEO_ACTION_PATH + "/" + movie))
.build();
Uri programUri = getApplicationContext().getContentResolver()
.insert(TvContractCompat.PreviewPrograms.CONTENT_URI, program.toContentValues());
long programId = ContentUris.parseId(programUri);
Log.d("programId:", String.valueOf(programId));
}
}
Примечание: Я передаю данные, используя Intent, но не получаю то же самое в VideoPlaybackActivity, но если я использую тот же Intent в Activity (предположим, что в Detail Activity), чтобы вызвать VideoPlaybackActivity, я получаю данные для выбранного / конкретного видео, поскольку я печатаю их в Logcat
Это то, что я использую в VideoDetailsActivity для воспроизведениявыбранного видео в VideoPlaybackActivity
Intent intent = new Intent (v.getContext (), VideoPlaybackActivity.class);
intent.putExtra (VideoPlaybackActivity.EXTRA_MOVIE, movie);
startActivity (intent);
Но когда я напрямую вызываю VideoPlaybackActivity с главного экрана Android TV (не получаюпоэтому не удалось запустить VideoPlaybackActivity для воспроизведения определенного видео
Manifest.xml
<activity android:name=".ui.activity.VideoPlaybackActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:scheme="androidtvhomescreenchannels"
android:host="com.androidtv.hsc"
android:pathPrefix="/playvideo" />
</intent-filter>
</activity>
ПРИМЕЧАНИЕ: Даже, я хотел бызнаю, какую именно программу я выбрал на главном экране, я хотел бы видеть название этой программы / фильма в Logcat