且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android笔记: 获取手机的品牌、型号、Android系统版本号、IMEI、当前系统语言等工具类

更新时间:2022-09-03 15:52:22

最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下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()));
    }