判斷當前訪問的設備是否是移動設備

通過判斷用戶的客戶端的user-agent信息來區分用戶設備

可以滿足大部分用戶的設備判斷要求,若用戶對自己的user-agent進行篡改,會導致當前的判斷失效,當然了還需要結合其他信息,畢竟沒有一勞永逸的


String requestHeader = request.getHeader("user-agent");

      if (isMobileDevice(requestHeader)) {
           //移動設備
        }

public static boolean isMobileDevice(String requestHeader) {
        /**
         * android : 所有android設備 mac os : iphone ipad windows
         * phone:Nokia等windows系統的手機
         */
        String[] deviceArray = new String[] { "Android", "iPhone", "MQQBrowser", "UCWEB", "Windows Phone", "iPod", "iPad", "BlackBerry", "hp-tablet",
                "SymbianOS" };
        if (requestHeader == null)
            return false;
        requestHeader = requestHeader.toLowerCase();
        if (!requestHeader.contains("Windows NT".toLowerCase()) && !requestHeader.contains("Macintosh".toLowerCase())) {
            for (String device : deviceArray) {
                if (requestHeader.contains(device.toLowerCase())) {
                    return true;
                }
            }
        }
        return false;
    }

發佈了13 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章