public class UserAgentUtil {
private static String[] keywords = { "mobile", "android", "symbianos", "iphone", "wp\\d*",
"windows phone", "mqqbrowser", "nokia", "samsung", "midp-2", "untrusted/1.0",
"windows ce", "blackberry", "ucweb", "brew", "j2me", "yulong", "coolpad", "tianyu",
"ty-", "k-touch", "haier", "dopod", "lenovo", "huaqin", "aigo-", "ctc/1.0", "ctc/2.0",
"cmcc", "daxian", "mot-", "sonyericsson", "gionee", "htc", "zte", "huawei", "webos",
"gobrowser", "iemobile", "wap2.0", "wapi", "Smartphone", "pcc" };
public static Boolean isMobile(String userAgent) {
if(userAgent == null){
return false;
}
userAgent = userAgent.trim().toLowerCase();
boolean isWAP = false;
Pattern pf = Pattern.compile("wp\\d*");
Matcher mf = pf.matcher(userAgent);
if ((userAgent.indexOf("windows nt") == -1 && userAgent.indexOf("Ubuntu") == -1)
|| (userAgent.indexOf("windows nt") > -1 && mf.find())) {
for (int i = 0; i < keywords.length; i++) {
Pattern p = Pattern.compile(keywords[i]);
Matcher m = p.matcher(userAgent);
//排除 苹果桌面系统 和ipad 、iPod
if (m.find() && userAgent.indexOf("ipad") == -1
&& userAgent.indexOf("macintosh") == -1) { /* iPod */
isWAP = true;
break;
}
}
}
return isWAP;
}
private static String[] keywords = { "mobile", "android", "symbianos", "iphone", "wp\\d*",
"windows phone", "mqqbrowser", "nokia", "samsung", "midp-2", "untrusted/1.0",
"windows ce", "blackberry", "ucweb", "brew", "j2me", "yulong", "coolpad", "tianyu",
"ty-", "k-touch", "haier", "dopod", "lenovo", "huaqin", "aigo-", "ctc/1.0", "ctc/2.0",
"cmcc", "daxian", "mot-", "sonyericsson", "gionee", "htc", "zte", "huawei", "webos",
"gobrowser", "iemobile", "wap2.0", "wapi", "Smartphone", "pcc" };
public static Boolean isMobile(String userAgent) {
if(userAgent == null){
return false;
}
userAgent = userAgent.trim().toLowerCase();
boolean isWAP = false;
Pattern pf = Pattern.compile("wp\\d*");
Matcher mf = pf.matcher(userAgent);
if ((userAgent.indexOf("windows nt") == -1 && userAgent.indexOf("Ubuntu") == -1)
|| (userAgent.indexOf("windows nt") > -1 && mf.find())) {
for (int i = 0; i < keywords.length; i++) {
Pattern p = Pattern.compile(keywords[i]);
Matcher m = p.matcher(userAgent);
//排除 苹果桌面系统 和ipad 、iPod
if (m.find() && userAgent.indexOf("ipad") == -1
&& userAgent.indexOf("macintosh") == -1) { /* iPod */
isWAP = true;
break;
}
}
}
return isWAP;
}
}
-----------------------------------------------------------------------------
String userAgent = request.getHeader("user-agent");