如何擷取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();
}