使用intent过滤器重定向Android webview

前端之家收集整理的这篇文章主要介绍了使用intent过滤器重定向Android webview前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个特定的网址,我希望从带有意图过滤器的网页视图重定向到我的应用中的特定活动. How to implement my very own URI scheme on Android描述了如何为浏览器页面执行此操作,但是当通过webview访问该URL时,此相同的intent过滤器不起作用.还有什么需要添加到此intent过滤器以捕获这些webview链接

最佳答案
我没有意图过滤器和webviews一起工作只是声明清单上的意图,我认为他们不应该. (我想知道为什么……)我认为这样做的方法是在尝试在webview中打开它们并创建一个意图时捕获URL.

然后,对于清单中的活动寄存器,如下所示:

您可以在单击以下链接时打开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);    


    }
}

猜你在找的Android相关文章