廢話不多說,直接上代碼:(親測有效,測試Android版本是7.0)
package com.utils;
import android.os.Build;
import android.os.Bundle;
import java.util.Locale;
import android.telephony.TelephonyManager;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
/**
* @brief: 讀取手機相關的信息
* @author: Fu_Lin
* @date: 2019-11-18
* @details: 設備號,製造商,系統語言,版本信號,手機廠商等等
* @note: 注意
*/
public class SystemInfoUtil{
/**
* 獲取當前手機系統語言。
*
* @return 返回當前系統語言。例如:當前設置的是“中文-中國”,則返回“zh-CN”
*/
public static String getSystemLanguage() {
return Locale.getDefault().getLanguage();
}
/**
* 獲取當前系統上的語言列表(Locale列表)
*
* @return 語言列表
*/
public static Locale[] getSystemLanguageList() {
return Locale.getAvailableLocales();
}
/**
* 獲取當前手機系統版本號
*
* @return 系統版本號
*/
public static String getSystemVersion() {
return android.os.Build.VERSION.RELEASE;
}
/**
* 獲取手機型號
*
* @return 手機型號
*/
public static String getSystemModel() {
return android.os.Build.MODEL;
}
/**
* 獲取手機制造商
*
* @return 手機制造商
*/
public static String getDeviceManufacturer()
{
String mtype = "";
try {
mtype = android.os.Build.MANUFACTURER;
} catch (Exception e) {
e.printStackTrace();
}
return mtype;
}
/**
* 獲取手機廠商
*
* @return 手機廠商
*/
public static String getDeviceBrand() {
return android.os.Build.BRAND;
}
/**
* 獲取手機IMEI(需要“android.permission.READ_PHONE_STATE”權限)
*
* @return 手機IMEI
*/
public static String getIMEI(Context ctx) {
TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Activity.TELEPHONY_SERVICE);
if (tm != null) {
return tm.getDeviceId();
}
return null;
}
}
所需權限:
<uses-permission android:name=“android.permission.READ_PHONE_STATE”/ >
下面列出其他的所有手機獲取的信息句柄:
android.os.Build.BOARD:獲取設備基板名稱
android.os.Build.BOOTLOADER:獲取設備引導程序版本號
android.os.Build.BRAND:獲取設備品牌
android.os.Build.CPU_ABI:獲取設備指令集名稱(CPU的類型)
android.os.Build.CPU_ABI2:獲取第二個指令集名稱
android.os.Build.DEVICE:獲取設備驅動名稱
android.os.Build.DISPLAY:獲取設備顯示的版本包(在系統設置中顯示爲版本號)和ID一樣
android.os.Build.FINGERPRINT:設備的唯一標識。由設備的多個信息拼接合成。
android.os.Build.HARDWARE:設備硬件名稱,一般和基板名稱一樣(BOARD)
android.os.Build.HOST:設備主機地址
android.os.Build.ID:設備版本號。
android.os.Build.MODEL :獲取手機的型號 設備名稱。
android.os.Build.MANUFACTURER:獲取設備製造商
android:os.Build.PRODUCT:整個產品的名稱
android:os.Build.RADIO:無線電固件版本號,通常是不可用的 顯示unknown
android.os.Build.TAGS:設備標籤。如release-keys 或測試的 test-keys
android.os.Build.TIME:時間
android.os.Build.TYPE:設備版本類型 主要爲"user" 或"eng".
android.os.Build.USER:設備用戶名 基本上都爲android-build
android.os.Build.VERSION.RELEASE:獲取系統版本字符串。如4.1.2 或2.2 或2.3等
android.os.Build.VERSION.CODENAME:設備當前的系統開發代號,一般使用REL代替
android.os.Build.VERSION.INCREMENTAL:系統源代碼控制值,一個數字或者git hash值
android.os.Build.VERSION.SDK:系統的API級別 一般使用下面大的SDK_INT 來查看
android.os.Build.VERSION.SDK_INT:系統的API級別 數字表示