启动Android Netflix应用程序并传递视频ID

The*_*hod 5 android netflix android-intent android-activity

在我正在开发的应用程序中,我想支持Netfilx流媒体.我打算通过简单地启动Netflix并传递特定的URI来实现这一点,以便在启动时播放特定的视频.简单吧?好吧,问题是我不知道如何在我用来启动Activity的Intent中传递视频ID信息.

我在这里阅读了这篇文章,但我不确定在哪里使用它.我使用了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);
Run Code Online (Sandbox Code Playgroud)

我也试过在上面的链接中使用URI协议,如下所示:

Uri uri = Uri.parse("nflx://movies.netflix.com/WiPlayer?movieid=70266228&trkid=13462049&ctx=0%2C1%2Ce2bd7b74-6743-4d5e-864f-1cc2568ba0da-61921755");
Run Code Online (Sandbox Code Playgroud)

但仍然没有看到视频播放.

我觉得我在这里缺少一些简单的东西,虽然我没有运气谷歌搜索这个,我几乎找不到从另一个应用程序启动Netflix Android应用程序.Netflix开发人员资源没有任何相关信息.

有没有人对我如何做到这一点或我应该在哪里寻找文件有任何建议?任何帮助,将不胜感激.非常感谢!

mle*_*ris 7

我已经做到了。用下面的代码。首先,您需要netflix的movieId(或videoId),然后编写要观看的URL。

String netFlixId = "43598743"; // <== isn't a real movie id
String watchUrl = "http://www.netflix.com/watch/"+netFlixId;
Run Code Online (Sandbox Code Playgroud)

然后带着这个意图

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);
}
Run Code Online (Sandbox Code Playgroud)

我还没有尝试过电视节目。但这很漂亮。如果要发送到电影的个人资料页面,请发送到以这种方式设置格式的网址

http://www.netflix.com/title/324982
Run Code Online (Sandbox Code Playgroud)

我还发现了如何搜索标题

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();

    }
Run Code Online (Sandbox Code Playgroud)


www*_*com 6

只是一些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"

Chrome:"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"