最近在開發中,需要用到一些系統資訊,這裡我把這些方法寫成一個工具類友善以後複用,該工具類有以下6個功能:
1、擷取手機制造廠商
2、擷取手機型号
3、擷取手機系統目前使用的語言
4、擷取Android系統版本号
5、擷取手機IMEI串号
6、擷取手機中的語言清單
SystemUtil類
/**
* 系統工具類
* Created by zhuwentao on 2016-07-18.
*/
public class SystemUtil {
/**
* 擷取目前手機系統語言。
*
* @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 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;
}
}
其中擷取手機IMEI需要在AndroidManifest.xml中加上權限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
使用這些方法的時候直接調用就好了
private void showSystemParameter() {
String TAG = "系統參數:";
Log.e(TAG, "手機廠商:" + SystemUtil.getDeviceBrand());
Log.e(TAG, "手機型号:" + SystemUtil.getSystemModel());
Log.e(TAG, "手機目前系統語言:" + SystemUtil.getSystemLanguage());
Log.e(TAG, "Android系統版本号:" + SystemUtil.getSystemVersion());
Log.e(TAG, "手機IMEI:" + SystemUtil.getIMEI(getApplicationContext()));
}
傳回結果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyM4UTOwkDMzIDOxcDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)