我正在聊天,在这个聊天中,一些消息将是指向特定网址的链接(此网址会在服务器中打开文档查看器)。
链接看起来像这样:http://X.X.X.X:8080/DocumentViewer/...
然后我有一个webview活动,我想打开这种类型的链接。
如何"拦截"当用户点击这种类型的链接时,打开我自己的webview并且不打开" external"浏览器?
答案 0 :(得分:4)
我认为您可以通过在intent-filter
文件中为您感兴趣的网址格式创建AndroidManifest.xml
来完成此操作。intent-filter
的文档< { {3}}>元素显示如何指定host
和scheme
(在您的案例中为“html”)来处理网址。
data回答显示了开发人员想要处理youtube.com网址的示例。为了完整起见,我在下面附上了清单摘录:
<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.youtube.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:host="http://X.X.X.X:8080/DocumentViewer/" android:scheme="http" />
</intent-filter>