WebView嵌套的链接打开,微信,支付宝,QQ支付
在定义的WebViewClient中添加重写方法,如下:
public class WebViewEmptyViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
if (url.startsWith("weixin://") //微信
|| url.startsWith("alipays://") //支付宝
|| url.startsWith("mqqwpa://"))/*QQ支付*/ {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
mContext.startActivity(intent);
return false;
}
} catch (Exception e) { //防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
return false;//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
}
return false;
}
}
WebView直接引用:
mWebView.setWebViewClient(new WebViewEmptyViewClient(this));