前言
在開發webview 有時候需要控制url的跳轉,是以需要擷取url 參數進行判斷
比如 http://192.168.0.37:8012/mobileAPP/payment.aspx?oId=M1684&factprice=12.01&paymenttype=1
這樣的一個url 我想擷取paymenttype參數的值 ,解決的辦法就是寫一個工具類
代碼如下
public class UrlUtils {
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 + "=", "");
}
}
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;
}