Android 乙太網MAC地址,wifiMAC地址
阿新 • • 發佈:2019-01-01
public String getMAC() {
// 獲取連線狀態
ConnectivityManager mConnectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
//檢查網路連線
NetworkInfo info = mConnectivity.getActiveNetworkInfo();
int netType = info.getType();
if (netType == ConnectivityManager.TYPE_WIFI) { //WIFI
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo infoWIFI = wifiManager.getConnectionInfo();
// 返回WIFIMAC
return infoWIFI.getMacAddress();
} else {
// 返回乙太網MAC
return getPhoneMacAddress();
}
}
/** * Get the STB MacAddress */ public String getPhoneMacAddress() { try { return loadFileAsString("/sys/class/net/eth0/address").toUpperCase().substring(0, 17); } catch (IOException e) { e.printStackTrace(); return null; } } public static String loadFileAsString(String filePath) throws java.io.IOException { StringBuffer fileData = new StringBuffer(1000); BufferedReader reader = new BufferedReader(new FileReader(filePath)); char[] buf = new char[1024]; int numRead = 0; while ((numRead = reader.read(buf)) != -1) { String readData = String.valueOf(buf, 0, numRead); fileData.append(readData); } reader.close(); return fileData.toString(); }