/**
* 通过网络接口取
* @return
*/
private static String getNewMac() {
try {
List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface nif : all) {
if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
byte[] macBytes = nif.getHardwareAddress();
if (macBytes == null) {
return null;
}
StringBuilder res1 = new StringBuilder();
for (byte b : macBytes) {
res1.append(String.format("%02X:", b));
}
if (res1.length() > 0) {
res1.deleteCharAt(res1.length() - 1);
}
return res1.toString();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
备注:网络接口的Name有很多:dummy0、p2p0、wlan0….其中wlan0就是我们需要WiFi mac地址;eth0 就是有线网卡的mac地址
这段代码主要用于通过遍历网络接口来获取设备的WiFi MAC地址。它首先列出所有网络接口,然后检查每个接口的名称,当找到名为'wlan0'的接口时,它会获取并格式化MAC地址。如果找不到或发生异常,则返回null。
4094

被折叠的 条评论
为什么被折叠?



