記錄幾種識別機器唯一碼的方式
1.cpu串號
2.imei串號
3.mac地址
詳細如下
// 1.獲取CPU串號
public static String getCPUSerial() {
String str = "", strCPU = "", cpuAddress = "0000000000000000";
try {
// 讀取CPU資訊
Process pp = Runtime.getRuntime().exec("cat /proc/cpuinfo");
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
// 查詢CPU序列號
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;
}
}
}
} catch (Exception ex) {
// 賦予預設值
ex.printStackTrace();
}
return cpuAddress;
}
//2.獲取imei
public static String getImeiSerial(Context context){
try {
if(null==imeiSerial && null!=context){
boolean mobileMark = false;
ConfigManager configManager = (ConfigManager) context.getSystemService(Context.CONFIG_SERVICE);
if(null!=configManager) mobileMark = configManager.getMobileSupportState();
if(mobileMark){
TelephonyManager mTelephonyManager = ((TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE));
if(null!=mTelephonyManager) imeiSerial = mTelephonyManager.getDeviceId();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return imeiSerial;
}
//3.獲取mac地址
public static String getLocalMacAddressFromWifiInfo(Context
context){
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}