欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android:WebView调用支付宝,提示ERR_UNKNOWN_URL_SCHEME 解决方法

程序员文章站 2022-05-27 22:40:54
...

首先我们的webview需要设置一些基本的参数信息,例如支持js等

// 设置WebView属性,能够执行Javascript脚本
webview.getSettings().setJavaScriptEnabled(true);
...

ios端开发是能够直接调起手机支付宝,但是android端不能,根本原因我认为android启动app的方式是通过intent的方式,因此,我们需要做的是在webview加载时,获取支付宝返回的url,以此url作为我们启动支付宝支付view的url信息

webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
 //不要加上下面注释掉的这句代码,会导致web界面报错
                // view.loadUrl(url);
                if (url.startsWith("http:") || url.startsWith("https:")) {
                    return false;
                }
//请务必使用try、catch 因为该处返回的url可能为无效url或者手机没有安转支付宝导致webview闪退
                try {
//通过意图调起支付宝
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    startActivity(intent);
                } catch (Exception e) {
                }
                return true;
            }
        });
    }