android 获取serialno_Android 获取手机状态信息

本文介绍了如何在Android中获取手机的系统信息,包括IMEI、IMSI、MAC和SERIALNO等。通过android.os.SystemProperties、android.os.Build、android.telephony.TelephonyManager和android.provider.Settings等类的方法来访问这些信息,同时也提到了获取MAC地址的不同方式。
摘要由CSDN通过智能技术生成

在开发中我们经常会用到一些手机系统信息,如IMEI、IMSI、MAC、SERIALNO等等,下面给出这些信息的一些获取方法

1. android.os.SystemProperties  (the access to System Property store)

这是android系统属性的控制类,控制系统的各属性值,用于记录和管理系统的配置和状态。每个属性都以pair(key/value)的形式存储,可以在adb shell下使用getprop查看系统属性(列出部分):

[dhcp.wlan0.dns1]: [172.26.210.1]

[dhcp.wlan0.dns2]: [218.2.135.1]

[dhcp.wlan0.gateway]: [172.26.210.1]

[dhcp.wlan0.ipaddress]: [172.26.210.24]

[dhcp.wlan0.mask]: [255.255.0.0]

[ro.build.display.id]: [G750-T01-CM11-NiuNai]

[ro.product.model]: [G750-T01]

[ro.product.locale.language]: [zh]

[ro.product.locale.region]: [CN]

[ro.serialno]: [DQBALFPNNBKRIVSO]

[gsm.serial]: [BY2PJU1496058698]

SystemProperties提供了get、set函数来访问和设置属性值,而具体的处理由C++实现(下面给出部分源码,一些重载的get、set函数省略。如果想具体了解函数实现的细节,可以参考http://www.cnblogs.com/bastard/archive/2012/10/11/2720314.html):

public classSystemProperties {//JNI调用函数

private static nativeString native_get(String key);private static native voidnative_set(String key, String def);public staticString get(String key) {if(TRACK_KEY_ACCESS) onKeyAccess(key);returnnative_get(key);

}public static voidset(String key, String val) {if (val != null && val.length() >PROP_VALUE_MAX) {thrownewValueTooLargeException(key, val);

}if(TRACK_KEY_ACCESS) onKeyAccess(key);

native_set(key, val);

}

}

这个类是隐藏的,上层程序开发无法直接使用。如果要用,需要用到java的反射机制,并且需要知道所需属性的具体标识key(建议使用下面的封装类),如:

Class clazz = Class.forName("android.os.SystemProperties");

Method MethodGet= clazz.getDeclaredMethod("get", String.class);

String serialno= (String) MethodGet.invoke(null,"ro.serialno");

Log.d("yi"," serialno: " +serialno);

日志:D/yi: serialno: DQBALFPNNBKRIVSO

2. android.os.Build (Information about the current build, extracted from system properties)

从备注可以看出,此类是基于系统信息的,提供了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值