android-intent - Netflix Android TV 应用程序 (com.netflix.ninja) 的电影深度链接

标签 android-intent deep-linking netflix android-tv

我已经看到了关于如何为移动 Netflix 应用程序为 Netflix 进行电影深度链接的解决方案,但对于该应用程序的 Android TV 版本,这些相同的解决方案似乎不起作用。

我尝试过使用带有 action.VIEW 的 Intent 并传递正常的 Netflix URL,例如: http://www.netflix.com/watch/ {movieId} 或使用 nflx://协议(protocol)。

对于 Android TV 应用程序,只有 nflx://协议(protocol)似乎可以在打开应用程序时执行任何操作,然后它只停留在主菜单而不是播放电影。使用 http://协议(protocol)在浏览器中打开 netflix,它只要求您下载手机或平板电脑应用。

有没有人能解决这个问题?

最佳答案

我也想要,所以我花了一些时间挖掘。它必须是可能的,因为 Netflix 系列和电影会出现在 Android TV 启动器搜索结果中,并且可以从那里启动。显然,该意图中有额外的意图,它们是缺失的部分。最大的问题是没有简单的方法来捕获那些额外的意图(logcat 不显示额外的),但我仍然找到了一种方法。以下代码可以满足您的需求:

Intent netflix = new Intent();
netflix.setAction(Intent.ACTION_VIEW);
netflix.setData(Uri.parse("http://www.netflix.com/watch/70202141"));
netflix.putExtra("source","30"); // careful: String, not int
netflix.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
getActivity().startActivity(netflix);

或者,通过 adb:

adb shell am start -c android.intent.category.LEANBACK_LAUNCHER -a android.intent.action.VIEW -d http://www.netflix.com/watch/70202141 -f 0x10808000 -e source 30 com.netflix.ninja/.MainActivity

这样我就可以直接进入电影或连续剧,它会自动开始播放。要在没有自动播放的情况下启动到屏幕,请使用 /title/而不是/watch/。 在 netflix ninja 3.3.1 build 1513 for Android TV on arm 上测试。

关于android-intent - Netflix Android TV 应用程序 (com.netflix.ninja) 的电影深度链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35556634/

相关文章:

flex3 - 深度链接 Flex 应用程序/站点的最佳 SEO 解决方案是什么?

python - 什么是 python 字符串?

Spring cloud - Zuul - 自定义过滤器

android - 应用程序意外停止,请重试错误

android - 将列表从 Activity 发送到 fragment android

android - 在 Android 应用程序中单击并打开时,分支链接不提供数据

ios - 如何在 Swift 应用程序中使用自定义 URL 打开另一个 Swift 应用程序

hadoop - 在 AWS EMR 上用 Lipstick 运行 Pig

java - 为什么当 Intent 双值时我得到 null

android - Bundle extras = data.getExtras(); 上的 java.lang.NullPointerException;