webview为啥会拦截支付宝支付

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webview为啥会拦截支付宝支付相关的知识,希望对你有一定的参考价值。

参考技术A 支付宝接口 有问题

WebView网页中使用到支付宝调不起来,提示ERR_UNKNOWN_URL_SCHEME

在WebView中如果使用到支付宝,需要添加以下代码,否则操作系统会将支付宝的URL拦截,导致你打不开支付宝页面。
mWebView.setWebViewClient(new WebViewClient(){  
        @Override  
        public boolean shouldOverrideUrlLoading(WebView view, String url) {  
            if( url.startsWith("http:") || url.startsWith("https:") ) {  
                return false;  
            }  
   try{
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));  
            startActivity( intent );  
   }catch(Exception e){}
            return true;  
        }  
    });  

 

这里要注意的是上面需要加下try catch,因为你传过来的url并不一定是合法的。有可能是打开本地app的url,如果你没有安装,是会导致崩溃的。

 

转载自:http://blog.csdn.net/u014369799/article/details/51305788

以上是关于webview为啥会拦截支付宝支付的主要内容,如果未能解决你的问题,请参考以下文章

WebView网页中使用到支付宝调不起来,提示ERR_UNKNOWN_URL_SCHEME

Android H5调起原生微信或支付宝支付

Android WebView中的H5支付实践

为啥支付宝一直提示系统繁忙?

[Android] webview调起支付宝支付页面记录

App内H5方式微信、支付宝支付,无法回跳到App问题