1. 程式人生 > >WebView巢狀的網頁需要開啟外在應用

WebView巢狀的網頁需要開啟外在應用

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));