最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下6个功能:
1、获取手机制造厂商
2、获取手机型号
3、获取手机系统当前使用的语言
4、获取Android系统版本号
5、获取手机IMEI串号
6、获取手机中的语言列表
获取手机IMEI需要在AndroidManifest.xml中加上权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
SystemUtil类
/** * 系统工具类 * Created by 程龙 on 2018-09-12. */ 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; } }
使用这些方法的时候直接调用就好了
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())); }