安卓笔记:webView唤起QQ聊天窗口问题

概述:

今天任务给了我一串url,在浏览器中输入,可以自动唤起QQ聊天窗口,类似于客服,但是放到webView,显示网页打不开

安卓笔记:webView唤起QQ聊天窗口问题_第1张图片

原因:url已经打开,并且实现了跳转,但是跳转在老的webview里面,并且是新的url,url可以查看图片里位于mqqwpa://xxxx,导致网页加载不出来

解决方案:通过获取新的url,并且截取特性字段,在shouldOverrideUrlLoading函数里通过判断,选择是否让其跳转到新的界面。

private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.startsWith("mqqwpa")) {
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(intent);
            }
            return true;
        }
}

我是通过获取mqqwpa,因为项目给的地址,基本不会出现问题,如果不是https就选择打开另一个界面的话,会不安全,因人而异,因为我的项目还需要进行微信支付跳转。

你可能感兴趣的:(安卓笔记)