使用intent过滤器重定向Android webview

我有一个特定的网址,我希望从带有意图过滤器的网页视图重定向到我的应用中的特定活动. 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);    


    }
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...