android 獲取url 引數值
阿新 • • 發佈:2019-02-11
前言
在開發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; }