Android Intent-filter mimetype和host / scheme

时间:2012-06-17 22:05:22

标签: android host intentfilter

我在某些应用中看到,当您点击某个链接时,它会询问您是否要在应用中打开它。我在很多帖子中都看到过你可以做到的

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:host="www.ex-ample.com" android:scheme="http" />
</intent-filter>

我没有尝试过,但每个帖子似乎都说它有效。我试过的是:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:mimeType="vnd.android.cursor.item/vnd.example.crag" />
  <data android:host="www.ex-ample.com" android:scheme="http" />
</intent-filter>

它似乎不起作用,我点击了文本中的链接到www.ex-ample.com/test/123,它只是在浏览器中打开。

我真的很想知道两件事:

  1. 你可以一起使用mineType和host / scheme属性吗
  2. 你能看到其他什么问题吗?

1 个答案:

答案 0 :(得分:3)

  

你可以一起使用mineType和host / scheme属性

是的,至少根据the docs on <data>

  

你能看到其他任何错误吗?

如果http://www.ex-ample.com/test/123未在HTTP HEAD请求中返回MIME类型vnd.android.cursor.item/vnd.example.crag的文档,则您的<intent-filter>将不匹配。