我有一个特定的网址,我希望从带有意图过滤器的网页视图重定向到我的应用中的特定活动. How to implement my very own URI scheme on Android描述了如何为浏览器页面执行此操作,但是当通过webview访问该URL时,此相同的intent过滤器不起作用.还有什么需要添加到此intent过滤器以捕获这些webview链接?
broWSABLE">
最佳答案
我没有意图过滤器和webviews一起工作只是声明清单上的意图,我认为他们不应该. (我想知道为什么……)我认为这样做的方法是在尝试在webview中打开它们并创建一个意图时捕获URL.
然后,对于清单中的活动寄存器,如下所示:
broWSABLE">
您可以在单击以下链接时打开PretendChat活动:webview中的“testing:// chat”.为了让你发生这种情况
在webview上使用的webview客户端上需要以下代码.假设启动webview的活动称为WebviewActivity.
private class TestWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
WebviewActivity.this.startActivity(intent);
} catch(ActivityNotFoundException e) {
Log.e(LOGTAG,"Could not load url"+url);
}
return super.shouldOverrideUrlLoading(view,url);
}
}
原文地址:https://www.jb51.cc/android/430913.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。