【问题标题】:Android: intercept Youtube intents?Android:拦截 Youtube 意图?
【发布时间】:2011-04-09 19:36:50
【问题描述】:

当视频开始播放时,我想在 youtube 应用程序中使用 BroadcastReceiver 拦截意图 - 我设法从日志中读取了这一点:

Starting: Intent { cmp=com.google.android.youtube/.WatchActivity (has extras) } from pid 18710

我尝试将其添加到清单中:

<intent-filter>
        <component android:name="com.google.android.youtube/.WatchActivity"/>

        </intent-filter>

但这没有用。

你怎么看?

【问题讨论】:

  • 你想完成什么?
  • 我正在尝试获取视频的下载地址,并通知我的应用
  • 出于什么目的?如果您希望您的应用显示为打开 YouTube URL 的另一种方式,您可以使用 Activity 上的 Intent 过滤器来实现。还是你想做别的事?
  • “如果您希望您的应用显示为打开 YouTube URL 的另一种方式,您可以通过对活动的意图过滤器来实现这一点” - 具体如何?实际上,我正在编写一个下载 youtube 视频的应用程序。现在我希望它能够识别用户何时开始观看视频,然后询问他是否要下载视频。这可能吗?

标签: android youtube android-intent broadcastreceiver


【解决方案1】:

如果您想让您的应用响应特定格式的 HTTP 网址(例如 youtube 视频网址),请设置一个意图过滤器,该过滤器使用定义您要匹配的网址模式的<data> element 响应 ACTION_VIEW 意图。

Android 使用 ACTION_SEND Intent 来分享链接或照片等内容。您还可以让您的应用响应共享链接。设置它与为 ACTION_VIEW 意图设置意图过滤器几乎相同。

有关更多详细信息,请参阅 Android 文档中有关意图过滤器 here 的“数据测试”部分。

无论如何,除非该应用发布信息供其他应用阅读,否则无法静默“窥探”另一个第三方应用。上述两种方法都将涉及用户专门告诉系统使用您的应用程序来处理有问题的 URL。第一种方式,用户将首先选择使用哪个应用程序来查看内容。第二种方式,用户必须在原始应用中按下分享按钮,然后选择分享到您的应用的链接。

说了这么多,既然你在上面提到了你想要做的事情,请尊重他人的版权。

【讨论】:

【解决方案2】:

你怎么看?

Intent 用于启动活动时,您不能“使用 BroadcastReceiver 拦截 Intent”。

另外,&lt;intent-filter&gt; 中没有 &lt;component&gt; 元素。

【讨论】:

  • 如果 youtube 视频开始播放,有什么方法可以通知我的应用?
  • @Alex1987:我当然希望不会。
  • 除非 Youtube 应用在您播放视频时明确广播意图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多