在我正在开发的应用程序中,我想支持Netfilx流媒体。我打算通过简单地启动Netflix并传递特定的URI来实现这一点,以便在启动时播放特定的视频。简单吧?好吧,问题是我不知道如何在我用来启动Activity的Intent中传递视频ID信息。
我已阅读帖子here,但不确定在哪里使用它。我使用了Intent.setData(),因为它接受了一个URI,但没有用。
以下是我一直在做的事情(我很难对电影数据进行编码,这仅用于测试目的):
// the Netflix intent
Intent intent = getPackageManager().getLaunchIntentForPackage("com.netflix.mediaclient");
//the uri
Uri uri = Uri.parse("http://movies.netflix.com/WiPlayer?movieid=70266228&trkid=13462049&ctx=0%2C1%2Ce2bd7b74-6743-4d5e-864f-1cc2568ba0da-61921755");
intent.setData(uri);
//launches but does not go to the video
startActivity(intent);
我也尝试在上面的链接中使用URI协议,如下所示:
Uri uri = Uri.parse("nflx://movies.netflix.com/WiPlayer?movieid=70266228&trkid=13462049&ctx=0%2C1%2Ce2bd7b74-6743-4d5e-864f-1cc2568ba0da-61921755");
但仍然没有看到视频播放。
我觉得我在这里遗漏了一些简单的东西,虽然我没有运气谷歌搜索这个,我几乎找不到从另一个应用程序启动Netflix Android应用程序。 Netflix开发人员资源没有任何相关信息。有没有人对我如何做到这一点或我应该在哪里寻找文件有任何建议?任何帮助,将不胜感激。非常感谢!
答案 0 :(得分:5)
只是一些Android应用程序意图帮助任何人。
Skype的: " com.skype.raider"," com.skype.raider.Main"
Netflix的: " com.netflix.mediaclient"" com.netflix.mediaclient.ui.launch.UIWebViewActivity"
ESexplorer: " com.estrongs.android.pop"" com.estrongs.android.pop.view.FileExplorerActivity"
的Youtube: " com.google.android.youtube"" com.google.android.youtube.HomeActivity"
铬: " com.android.chrome"" com.google.android.apps.chrome.Main"
VLC: " org.videolan.vlc"," org.videolan.vlc.gui.MainActivity"
MBOXSettings: " com.mbx.settingsmbox"" com.mbx.settingsmbox.SettingsMboxActivity"
答案 1 :(得分:4)
我设法做到了这一点。使用以下代码。首先,你需要netflix的movieId(或videoId),然后组成要观看的URL。
String netFlixId = "43598743"; // <== isn't a real movie id
String watchUrl = "http://www.netflix.com/watch/"+netFlixId;
然后有了这个意图
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.netflix.mediaclient", "com.netflix.mediaclient.ui.launch.UIWebViewActivity");
intent.setData(Uri.parse(watchUrl));
startActivity(intent);
}
catch(Exception e)
{
// netflix app isn't installed, send to website.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(item.url));
startActivity(intent);
}
我还没有尝试过电视节目。但这很好用。如果您要发送到电影的个人资料页面,请将其发送到以这种方式格式化的网址
http://www.netflix.com/title/324982
我还了解了如何搜索标题。
try {
Intent intent = new Intent(Intent.ACTION_SEARCH);
intent.setClassName("com.netflix.mediaclient", "com.netflix.mediaclient.ui.search.SearchActivity");
intent.putExtra("query", item.label);
startActivity(intent);
}
catch(Exception e)
{
Toast.makeText(this, "Please install the NetFlix App!", Toast.LENGTH_SHORT).show();
}
答案 2 :(得分:1)
以下是如何从 com.netflix.mediaclient
的ADB命令启动电影adb shell am start -n com.netflix.mediaclient/.ui.launch.UIWebViewActivity -a android.intent.action.VIEW -d http://www.netflix.com/watch/60000724
我还是找不到办法为com.netflix.ninja(Netflix for Android TV)做到这一点