如何获取Android的硬件信息
1. 如何获取Android 唯一硬件编号?
import android.provider.Settings.Secure;
String androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
2. 如何获取Android下CPU序列号?
public static String getCPUSerial() {
String str = "", strCPU = "", cpuAddress = "0000000000000000";
try {
// 读取信息
Process pp = Runtime.getRuntime().exec("cat /proc/cpuinfo");
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
// 查找序列号
for (int i = 1; i < 100; i++) {
str = input.readLine();
if (str != null) {
// 查找到序列号所在行
if (str.indexOf("Serial") > -1) {
// 提取序列号
strCPU = str.substring(str.indexOf(":") + 1,
str.length());
// 去掉空格
cpuAddress = strCPU.trim();
break;
}
} else {
// 文件结尾
break;
}
}
} catch (Exception ex) {
// 赋予默认值
ex.printStackTrace();
}
return cpuAddress;
}
注:有的系统下不能获取CPU序列号,结果都是"0000000000000000"
3. 如何获取Android下的Mac地址?
1、需要在AndroidManifest.xml文件中添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
2、Java代码(必须在Activity中使用)
public String getLocalMacAddress() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}