使用intent-filter拦截链接不起作用

时间:2012-07-28 01:55:37

标签: android android-intent intentfilter

我想拦截链接,因此它会打开我的应用,就像打开maps.google.com打开地图应用。

我已经在SO中读到了其他关于此的帖子,但我不知道为什么我不能让这个工作。

我的AndroidManifest中有这个

<activity android:name="com.my_app.my_app.AppActivity">
    <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:scheme="http"
              android:host="flickr.com" />
        <data android:scheme="http"
              android:host="www.flickr.com" />
    </intent-filter>
</activity>

我使用Dolphin浏览器测试了真实设备。我在地址栏中输入了www.flickr.com,但没有显示任何选择应用的选择。我已经测试了dolphin打开maps.google.com,我可以选择是否使用地图应用打开。所以我认为海豚不是问题。

我也从默认浏览器输入了flickr。也没用。

这里有什么我想念的吗?

2 个答案:

答案 0 :(得分:0)

使用Intent打开相应的活动时,您只能拦截URL,因为它的使用方式是使用intent过滤器和intent intent。当您在浏览器中键入地址时没有意图,只是方法调用。如果dolphin显示您打开谷歌地图,也许它是硬编码到Dolphin应用程序中的东西,但它可能不适用于其他网址或应用程序。

答案 1 :(得分:0)

你需要添加android:path,android:pathPrefix或android:pathPattern属性。

<data android:scheme="http" android:host="flickr.com" android:pathPrefix="/" />
<data android:scheme="http" android:host="www.flickr.com" android:pathPrefix="/" />