【问题标题】:How to catch Android share intents limited to specific URLs using intent-filter?如何使用意图过滤器捕获仅限于特定 URL 的 Android 共享意图?
【发布时间】:2011-02-13 20:19:51
【问题描述】:

我可以使用以下意图过滤器将我的应用程序连接到“共享页面”功能:

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="text/plain" />

但我想更进一步,将过滤器限制为包含特定 URL 的意图,例如 YouTube 视频的 URL。我尝试了这样的方法,但它不起作用:

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data
    android:mimeType="text/plain"
    android:scheme="http"
    android:host="m.youtube.com"
  />

有什么建议吗?

【问题讨论】:

  • 我也想这样做。看来是不可能的了。

标签: android android-intent share intentfilter


【解决方案1】:

但我想更进一步,将过滤器限制为包含特定 URL 的意图,例如 YouTube 视频的 URL。

你所要求的对我来说毫无意义。

也许你的意思是:

但我想更进一步,将过滤器限制为 ACTION_SEND 请求,其中正文额外包含特定 URL

在这种情况下,这是不可能的,对不起。

或者,也许你真的是说:

但我想更进一步,将过滤器限制为从随机软件发出的 ACTION_SEND 请求,这些软件恰好在用户碰巧按下“共享”时正在考虑特定 URL,例如共享当前在 YouTube 应用中播放的 YouTube 视频

在这种情况下,这是不可能的,对不起。

如果这些猜测都没有真正达到您的要求,请考虑编辑您的问题。

【讨论】:

  • 谢谢,我现在知道这是不可能的。
  • 我不明白这个答案。开发者想为他的应用添加分享支持,但只支持分享 youtube 视频。因此,他希望仅通过分享 youtube 视频来触发他的应用程序。为什么这是不可能的?
  • @kilaka:这是不可能的,因为你做不到。欢迎您为 Android 开源项目提供补丁以提供此功能。
  • 这就是主机属性的重点。我希望以下配置能够工作: 但我找不到这方面的错误。
  • @kilaka:“这就是主机属性的重点”——ACTION_SEND 不使用host 属性。您分享的内容是 Intent 额外的,而不是 Uri。
猜你喜欢
  • 1970-01-01
  • 2023-04-03
  • 2012-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多