做移动开发时,时常要判断移动终端是IOS还是android,以及浏览器,或者手机型号等等操作
其实在用户发起请求时,可以通过header来获取到你想要的东西;我们来看看:
1
2
3
4
5
|
public Object dowlaodapplawyer(HttpServletRequest request, HttpServletResponse response){
String agent= request.getHeader( "user-agent" );
System.out.println(agent);
}
|
我们可以看到打印的内容如下:
android(小米,内网)访问:
Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; MI 3W Build/KTU84P) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025483 Mobile Safari/533.1 MicroMessenger/6.3.9.48_refecd3e.700 NetType/WIFI Language/zh_CN
android(小米,外网网)访问:
Mozilla/5.0 (Linux; U; Android 4.4.2; zh-cn; GT-I9500 Build/KOT49H) AppleWebKit/
537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.0 QQ-URL-Manager Mobile Safar
i/537.36
我们很容易的就可以判断出 android手机 是否是 WIFI 型号
,浏览器等等;
判断方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
if (agent.contains( "Android" )){
//是否是安卓系统
}
if (agent.contains( "iPhone" )||agent.contains( "iPod" )||agent.contains( "iPad" )){
}
if (agent.contains( "MI" )){
//小米
}
if (agent.contains( "lenovo" )){
//联想
}
if (agent.contains( "WIFI" )){
//是否wifi
}<br><br><br>
|
有了上面这些判定条件,那么现在有一个需求,一个二维码,通过扫码方式下载一个APP,android将根据手机跳转到不同的应用市场,iphone,ipad等跳转到苹果应用市场的下载链接代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public Object dowlaodapplawyer(HttpServletRequest request, HttpServletResponse response){
String agent= request.getHeader( "user-agent" );
if (agent.contains( "Android" )){
try {
if (agent.contains( "MI" )){<br> //小米手机跳转到小米应用市场
response.sendRedirect( "http://app.mi.com/detail/119750?ref=search" );
} else {
response.sendRedirect( "http://www.wandoujia.com/apps/com.rogerlauren.lawyer" );
}
} catch (IOException e) {
}
} else if (agent.contains( "iPhone" )||agent.contains( "iPod" )||agent.contains( "iPad" )){<br> //通过微信进入此界面时,由于苹果市场并没有提供在浏览器中打开的提示
if (agent.contains( "Safari" )){
try {<br> //听过手机跳转到苹果应用市场(重定向)
response.sendRedirect( "https://itunes.apple.com/cn/app/you-lu-lu-shi-duan/id1057109909?mt=8" );
} catch (IOException e) {
e.printStackTrace();
}
} else {<br> //跳转到自定义页面,添加提示在浏览器中打开的提示(转发,在浏览器中打开时,地址不变)
return "dowloadhelp" ;
}
}
return null ;
}
|