如何使用intent-filter捕获限于特定URL的Android共享意图?

Mar*_*tój 10 android share intentfilter android-intent

我可以使用以下intent-filter将我的应用程序挂钩到"共享页面"功能:

<intent-filter>
  <action android:name="android.intent.action.SEND" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="text/plain" />
Run Code Online (Sandbox Code Playgroud)

但我想更进一步,将过滤器限制为包含特定网址的意图,例如YouTube视频的网址.我试过这样的东西,但它不起作用:

<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"
  />
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Com*_*are 7

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

你所要求的东西对我来说没有意义.

也许你的意思是:

但是我想进一步将过滤器限制为ACTION_SEND请求,其中body extra包含特定的URL

在这种情况下,这是不可能的,抱歉.

或者,也许你的意思是:

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

在这种情况下,这是不可能的,抱歉.

如果这些猜测都没有真正符合您的要求,请考虑编辑您的问题.

  • @kilaka:"这是主机属性中的重点" - "ACTION_SEND"不使用`host`属性.你分享的东西是'Intent`额外的东西,而不是'Uri`. (2认同)