Android 获取手机型号,版本号等。

本文介绍了如何在Android应用中获取手机的详细信息,包括手机型号、制造商、系统语言、Android版本以及IMEI。文章提供了一个工具类的实现方式,并展示了调用方法的示例。测试结果显示,获取到的手机型号为MI 3W,与QQ说说中显示的小米3可能通过特定的型号映射表关联。需要注意的是,SDK版本1.5不支持所有参数的获取,且未验证刷机后获取手机型号的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取手机相关信息,如手机型号,厂商,系统语言,android版本,手机串号(IMEI)。
添加权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

统一写在一个工具类中,直接调用。

public class getSystemMsgUtil {

        /**
         * 获取手机厂商
         *
         * @return 手机厂商
         */
        public static String getDeviceBrand() {
            return android.os.Build.BRAND;
        }

        /**
         * 获取当前手机系统版本号
         *
         * @return 系统版本号
         */
        public static String getSystemVersion() {
            return android.os.Build.VERSION.RELEASE;
        }

        /**
         * 获取手机型号
         *
         * @return 手机型号
         */
        public static String getSystemModel() {
            return android.os.Build.MODEL;
        }


        /**
         * 获取手机IMEI(需要“android.permission.READ_PHONE_STATE”权限)
         *
         * @return 手机IMEI 国际移动设备识别码(International Mobile Equipment Identity,IMEI),即通常所说的手机序列号、手机“串号”
         */
        public static String getIMEI(Context ctx) {
            TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Activity.TELEPHONY_SERVICE);
            if (tm != null) {
                return tm.getDeviceId();
            }
            return null;
        }

        /**
         * 获取当前手机系统语言。
         *
         * @return 返回当前系统语言。例如:当前设置的是“中文-中国”,则返回“zh-CN”
         */
        public static String getSystemLanguage() {
            return Locale.getDefault().getLanguage();
        }

        /**
         * 获取当前系统上的语言列表(Locale列表)
         *
         * @return 语言列表
         */
        public static Locale[] getSystemLanguageList() {
            return Locale.getAvailableLocales();
        }
}

调用showSystemParameter()方法:

  private void showSystemParameter() {
        String TAG = "getSystemMsg";
        Log.i(TAG, "手机厂商:" + getSystemMsgUtil.getDeviceBrand());
        Log.i(TAG, "手机型号:" + getSystemMsgUtil.getSystemModel());
        Log.i(TAG, "手机当前系统语言:" + getSystemMsgUtil.getSystemLanguage());
        Log.i(TAG, "语言列表:" + getSystemMsgUtil.getSystemLanguageList());
        Log.i(TAG, "Android系统版本号:" + getSystemMsgUtil.getSystemVersion());
        Log.i(TAG, "手机IMEI:" + getSystemMsgUtil.getIMEI(getApplicationContext()));
    }

测试结果:

 I/getSystemMsg: 手机厂商:Xiaomi
 I/getSystemMsg: 手机型号:MI 3W
 I/getSystemMsg: 手机当前系统语言:zh
 I/getSystemMsg: 语言列表:[Ljava.util.Locale;@3f5dfaf
 I/getSystemMsg: Android系统版本号:6.0.1
 I/getSystemMsg: 手机IMEI:865072024568845

获取当前软件版本号的方法:

  private String getAppVersionName(Context context) {
        String versionName = "";
        try {
            PackageManager packageManager = context.getPackageManager();
            PackageInfo packageInfo = packageManager.getPackageInfo("包名", 0);
            versionName = packageInfo.versionName;
            if (TextUtils.isEmpty(versionName)) {
                return "";
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return versionName;
    }

结果:

I/getSystemMsg: 软件版本:1.0

关于QQ说说功能上手机型号的显示是小米3 。而这里是手机型号:MI 3W。应该是后台通过一张android手机型号表建立对应关系。
同时也要注意,SDK1.5是不支持这个参数的。关于android.os.Build.MODEL;获取手机型号在刷机后网上说会判断失败,这里没有做测试。
更多获取手机的信息android 获取手机信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值