美文网首页支付宝
Android:WebView调用支付宝,提示ERR_UNKNO

Android:WebView调用支付宝,提示ERR_UNKNO

作者: BinZzz | 来源:发表于2016-11-01 10:59 被阅读758次

    首先我们的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;
                }
            });
        }
    

    相关文章

      网友评论

        本文标题:Android:WebView调用支付宝,提示ERR_UNKNO

        本文链接:https://www.haomeiwen.com/subject/otlmuttx.html