做移动开发时,时常要判断移动终端是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

}


 

 

有了上面这些判定条件,那么现在有一个需求,一个二维码,通过扫码方式下载一个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")){
                        
//小米手机跳转到小米应用市场

                 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")){
                         
//通过微信进入此界面时,由于苹果市场并没有提供在浏览器中打开的提示

         if(agent.contains("Safari")){

             try {
                        
//听过手机跳转到苹果应用市场(重定向)

                 response.sendRedirect("https://itunes.apple.com/cn/app/you-lu-lu-shi-duan/id1057109909?mt=8");

                catch (IOException e) {

                    e.printStackTrace();

                }

         }else{
                
//跳转到自定义页面,添加提示在浏览器中打开的提示(转发,在浏览器中打开时,地址不变)

              return "dowloadhelp";

         }

     }

    return null;

}

更多相关文章

  1. 关于Android(安卓)Sensor的文章
  2. IDA 调试SO
  3. win7 cmd终端连接android手机运行adb shell脚本命令
  4. Android手机开发ubuntu系统中常用的搜索命令
  5. android 之数据存储(IO)
  6. Android(安卓)开发 使用wifi连接adb
  7. PopupWindow 在华为手机等某些自带虚拟导航栏底部被挡住的解决
  8. Android(安卓)使用HTTPClient调用Web请求(查询手机号码区域)
  9. Android手机铃声代码实现

随机推荐

  1. Android(安卓)HAL技术详解
  2. 解决了在Android原生TextView中,当text长
  3. Eclipse 点击 Run 自动生成 out 文件的错
  4. Android定时器AlarmManager和Timer的区别
  5. Dialog使用findViewById 报空指针异常
  6. 浅析Android中build.gradle的实用技巧
  7. ImageView宽度填满屏幕,高度自适应
  8. Android(安卓)中文API (68) ―― Bluetooth
  9. Android入门开发之SD卡读写操作
  10. Android中在代码中设置控件的宽和高