【问题标题】:Launching Android Netflix App And Passing Video Id启动 Android Netflix App 并传递视频 ID
【发布时间】:2013-08-15 13:39:19
【问题描述】:

在我正在开发的应用程序中,我想支持 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 开发者资源没有这方面的任何信息。

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

【问题讨论】:

  • 根据您链接中的评论者,他说这在android中不起作用。无论如何,启动 Netflix 应用播放视频有什么意义?
  • @tyczj - 因为这是应用程序的业务需求......这就是我想推出 Netflix 的原因。
  • 您的企业是否意识到这是一个未记录的意图,甚至可能在现在或将来都行不通?
  • @tyczi - 是的,他们知道,我已经建议不要这样做,并被告知要尽我所能让它发挥作用。所以,我来了。
  • 嗨,我对相同的功能感兴趣。你成功了吗?

标签: android android-intent android-activity netflix


【解决方案1】:

我已经做到了。使用以下代码。首先,您需要 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);
}

我还没有尝试过电视节目。但这很好用。如果您想发送到电影的个人资料页面.. 将其发送到这种格式的 url

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】:

只是一些 Android 应用意图名称来帮助任何人。

格式:appNamepackageNameclassName

Skype:com.skype.raidercom.skype.raider.Main

Netflix:com.netflix.mediaclientcom.netflix.mediaclient.ui.launch.UIWebViewActivity

ESexplorer:com.estrongs.android.popcom.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.vlcorg.videolan.vlc.gui.MainActivity

MBOX 设置:com.mbx.settingsmboxcom.mbx.settingsmbox.SettingsMboxActivity

【讨论】:

    【解决方案3】:

    下面是如何从 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(适用于 Android TV 的 Netflix)找到方法

    【讨论】:

    • com.netflix.ninja 版本需要使用action android.intent.action.ACTION_VIEW
    猜你喜欢
    • 2016-05-17
    • 2012-06-10
    • 2017-04-19
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多