我想拦截链接,因此它会打开我的应用,就像打开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。也没用。
这里有什么我想念的吗?
答案 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="/" />