1. 程式人生 > >獲取手機型號,作業系統,系統版本

獲取手機型號,作業系統,系統版本

引入依賴:

<dependency>
            <groupId>eu.bitwalker</groupId>
            <artifactId>UserAgentUtils</artifactId>
            <version>1.20</version>
 </dependency>

工具類:

public class UserAgentUtil {

    public static String android = "Android";
    public static String iphone = "iPhone";
    public static String ipad = "iPad";
    public static String noDevice = "未知裝置";

    // 獲取使用者UA資訊
    public static String getUaInfo(HttpServletRequest request) {

        if (null == request)
            return "";
        return request.getHeader("User-Agent");
    }

    // 獲取使用者Browser資訊
    public static String getBrowser(String ua) {

        if (null == ua)
            return "";
        UserAgent userAgent = UserAgent.parseUserAgentString(ua);
        Browser browser = userAgent.getBrowser();
        return browser.toString();
    }

    // 獲取使用者os資訊
    public static String getOS(String ua) {

        if (null == ua)
            return noDevice;
        UserAgent userAgent = UserAgent.parseUserAgentString(ua);
        OperatingSystem os = userAgent.getOperatingSystem();
        return os.toString();
    }

    // 獲取移動使用者作業系統
    public static String getMobileOS(String userAgent) {
        if (userAgent.contains(android)) {
            return android;
        } else if (userAgent.contains(iphone)) {
            return iphone;
        } else if (userAgent.contains(ipad)) {
            return ipad;
        } else {
            return "others";
        }
    }

    // 獲取使用者手機型號
    public static String getPhoneModel(String userAgent) {

        if (null == userAgent || "" == userAgent)
            return noDevice;

        String OS = UserAgentUtil.getMobileOS(userAgent);
        if (OS.equals(android)) {
            String rex = "[()]+";
            String[] str = userAgent.split(rex);
            str = str[1].split("[;]");
            String[] res = null;
            for (String string : str) {
                if (!string.contains("Build/")) {
                    continue;
                }
                res = string.split("Build/");
            }
            return res == null ? "" : res[0].trim();
        } else if (OS.equals(iphone)) {
            String[] str = userAgent.split("[()]+");
            String res = "iphone" + str[1].split("OS")[1].split("like")[0];
            return res;
        } else if (OS.equals(ipad)) {
            return ipad;
        } else {
            return getOS(userAgent);
        }
    }

    public static String getPhoneVersion(String userAgent) {

        if (null == userAgent || "" == userAgent)
            return "";

        String OS = UserAgentUtil.getMobileOS(userAgent);
        if (OS.equals(android)) {
            String rex = "[()]+";
            String[] str = userAgent.split(rex);
            str = str[1].split("[;]");
            String res[] = null;
            for (String string : str) {
                if (!string.contains("Android")) {
                    continue;
                }
                System.out.println(string.trim());
                res = string.trim().split("Android");
            }
            return res == null ? "" : res[1].trim();
        } else if (OS.equals(iphone)) {
            String[] str = userAgent.split("[()]+");
            String res = str[1].split("OS")[1].split("like")[0];
            return res.trim();
        } else {
            return "";
        }
    }

相關推薦

獲取手機型號作業系統系統版本

引入依賴: <dependency>             <groupId>eu.bitwalker</groupId>             <artifactId>UserAgentUtils</artifac

獲取應用版本版本名稱包名AppName圖標是否是系統應用獲取手機中所有應用所有進程

pac version raw 是否 系統 app bsp agen nco PackageManager packageManager = getPackageManager(); PackageInfo packageInfo; = packageManager.get

js獲取ip地址作業系統瀏覽器版本等資訊可相容

  這次呢,說一下使用js獲取使用者電腦的ip資訊,剛開始只是想獲取使用者ip,後來就順帶著獲取了作業系統和瀏覽器資訊。   先說下獲取使用者ip地址,包括像ipv4,ipv6,掩碼等內容,但是大部分都要根據瀏覽器的支援情況來決定,目前主流瀏覽器對於ipv4的支援是統一的。第一種

android獲取手機型號系統版本

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

Android 獲取手機儲存總大小系統佔用空間

一、Android 儲存介紹及通常查詢大小 手機儲存有兩種,內建記憶體和外接記憶體(SD),目前可擴充套件記憶體的機型正在減少,大部分是內建儲存的手機,內建128G、256G已經很常見,但如果有擴充套件功能的話,買個乞丐版+SD卡也是美滋滋,畢竟廠家增加儲存空間後手機定價也不便宜。言

iOS獲取手機型號、iOS獲取當前app的名稱和版本

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // app名稱 NSString *app_Name = [infoDi

獲取手機操作事件getevent安卓模擬長按電源鍵

adb root adb shell getevent 錘子系列手機 左側鍵: /dev/input/event2: 0001 02fe 00000001 /dev/input/event2: 0000 0000 00000000 /dev/input/event

Android 防介面劫持方案無視Android系統版本限制無需操作棧

Android 防介面劫持方案 Demo下載地址 分析 要想真正做到防劫持,就需要在我們的程式執行時,不允許啟動其他應用程式。但是Android為了提高使用者的使用者體驗,對於不同的應用程式之間的切換,基本上是無縫,如果在啟動一個Activit

網站流量統計java+jsp 獲取訪客瀏覽器真實ip作業系統來源

採用servlet的filter獲取request物件,以獲取訪客資訊 public class StatFilter     implements Filter {     public StatFilter() {     }     public void init(FilterConfig filte

Javascript中獲取瀏覽器類型和操作系統版本等客戶端信息常用代碼

cin nav coo temp undefined light safari macintosh else /** * @author hechen */ var gs = { /**獲得屏幕寬度**/ ScreenWidth: function () {

AppUtils【獲取手機的信息和應用版本號、安裝apk】

-- 處理 start nts tex activex 項目啟動 gif 分享 版權聲明:本文為HaiyuKing原創文章,轉載請註明出處! 前言 一個獲取設備的系統版本號、設備的型號、應用版本號code值、應用版本號name值、包名、是否更新、安裝apk的工具類。

android獲取手機型號手機廠商

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

小程式--獲取手機型號

手機型號:{{mobileModel}}手機畫素比:{{mobileePixelRatio}}視窗寬度:{{windowWidth}}視窗高度:{{windowHeight}}微信設定的語言:{{language}}微信版本號:{{version}}   var app = getApp()Pa

獲取手機型號iphoneX 、iphoneXR、iphone XS、iphone XS MAX

-(NSString *)getCurrentDeviceModel {     int mib[2];     size_t len;     char *machine;     mib[0] = CTL_HW;     mib[1] = HW_MACHI

Android獲取手機型號

獲取手機型號的關鍵程式碼: Build.MODEL 下面是我獲取手機型號: String phone = Build.MODEL; Log.e("=手機型號為", phone ); 下面是我的獲取來的手機型號:

強大的Android系統可自由修改手機型號、SDK版本號等資訊。

從所周知,Android是個開原始碼的系統,可供大家自由開發。本人一直都用著國產神器,價錢便宜,但是功能強大,今天特發奇想地想修改一下系統所顯示的手機型號等,這樣在使用一些社交軟體的時候,所顯示出的手機型號就牛B了,明明就是一個不知名的國產品牌手機 ,硬是變成iPhone

iOS 獲取手機型號系統版…

//手機序列號       NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];      NSLog(@"手機序列號: %@",identifierNumber);      //手機別名: 使用者定義的名

獲取iOS系統版本慎重使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】

net 版本 ice system family class 失效 color -s iOS 最常見的獲取系統版本的方法是: [[[UIDevice currentDevice] systemVersion] floatValue] 可是。這個floatValue是

Android 獲取手機的廠商、型號、Android系統版本號、IMEI、當前系統語言等工具類

parameter toc systems star lan gets post version -h 最近在開發中,需要用到一些系統信息,這裏我把這些方法寫成一個工具類方便以後復用,該工具類有以下6個功能: 1、獲取手機制造廠商 2、獲取手機型號 3、獲取手機系統當前使用

Java通過瀏覽器請求頭(User-Agent)獲取 瀏覽器型別作業系統型別手機機型

一:獲得瀏覽器請求頭中的User-Agent   ? 1 String ua = request.getHeader("User-Agent") 二:獲得瀏覽器型別,作業系統型別:(注意,UserAgent類在U