1. 程式人生 > >android 獲取url 引數值

android 獲取url 引數值

前言

在開發webview 有時候需要控制url的跳轉,所以需要獲取url 引數進行判斷

比如 http://192.168.0.37:8012/mobileAPP/payment.aspx?oId=M1684&factprice=12.01&paymenttype=1 

這樣的一個url 我想獲取paymenttype引數的值 ,解決的辦法就是寫一個工具類


程式碼如下

/***
     * 獲取url 指定name的value;
     * @param url
     * @param name
     * @return
     */
    public static String getValueByName(String url, String name) {
        String result = "";
        int index = url.indexOf("?");
        String temp = url.substring(index + 1);
        String[] keyValue = temp.split("&");
        for (String str : keyValue) {
            if (str.contains(name)) {
                result = str.replace(name + "=", "");
                break;
            }
        }
        return result;
    }
呼叫示例
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
	if (url.contains("/mobileAPP/payment.aspx?")) {
		String type = UrlUtils.getValueByName(url, "paymenttype");
		//微信支付
		if (type.equals("1")) {
			Intent intent = new Intent(context, PayActivity.class);
			context.startActivity(intent);
		}
		//支付寶支付
		else {
			Intent intent = new Intent(context, PayDemoActivity.class);
			context.startActivity(intent);
		}

	}
	else {
		view.loadUrl(url);
	}
	return true;
}