适用于 Netflix Android TV 应用程序 (com.netflix.ninja) 的电影 Deeplink
Posted
技术标签:
【中文标题】适用于 Netflix Android TV 应用程序 (com.netflix.ninja) 的电影 Deeplink【英文标题】:Movie Deeplink for Netflix Android TV app (com.netflix.ninja) 【发布时间】:2016-06-04 01:20:41 【问题描述】:我已经看到有关如何为 Netflix 移动 Netflix 应用程序进行电影深度链接的解决方案,但对于该应用程序的 android TV 版本,这些相同的解决方案似乎不起作用。
我尝试使用带有 action.VIEW 的 Intent 并传递正常的 Netflix URL,例如: http://www.netflix.com/watch/movieId 或使用 nflx:// 协议。
对于 android TV 应用程序,只有 nflx:// 协议似乎在打开应用程序时执行任何操作,然后它只是停留在主菜单而不是播放电影。使用 http:// 协议在浏览器中打开 netflix,它只要求您下载手机或平板电脑应用程序。
有没有人能解决这个问题?
【问题讨论】:
【参考方案1】:我也想要同样的东西,所以我花了一些时间挖掘。这必须是可能的,因为 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 上测试。
【讨论】:
这在 FireTV 上不适合我。你是如何捕捉到额外的意图的? @prestonmation 我发现它只适用于 Fire TV 2 Gen 和 Fire TV Stick 2 Gen,这是因为 Netflix 版本不同于 Fire TV 1 Gen 和 Fire TV Stick 1 Gen 【参考方案2】:Netflix 最近为 Android TV 添加了通用搜索支持,这意味着必须有某种方法可以深度链接到节目和电影。所以我发现了一些你需要设置的标志才能正确打开显示页面。好像还有额外的东西可以用来自动开始播放。
public void OpenNFX()
Intent netflix = new Intent();
netflix.setAction(Intent.ACTION_VIEW);
netflix.setData(Uri.parse("http://www.netflix.com/watch/70291117"));
netflix.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
getActivity().startActivity(netflix);
【讨论】:
以上是关于适用于 Netflix Android TV 应用程序 (com.netflix.ninja) 的电影 Deeplink的主要内容,如果未能解决你的问题,请参考以下文章
使用适用于 Android 移动应用程序的 Anymote 库与 Android TV 通信
仅适用于 Android TV 的 Android 清单 - 支持的设备太少?
被拒绝的应用 Google Play 上没有适用于 Android TV 的全尺寸应用横幅