android6.0获取wifi mac地址的一种方法

来源:互联网 发布:csgo皮肤枪大全知乎 编辑:程序博客网 时间:2024/05/30 22:49

由于android6.0对wifi mac地址获取进行了限制,用原来的方法获取会获取到02:00:00:00:00:00这个固定地址。

但是可以通过读取节点进行获取"/sys/class/net/wlan0/address"

public String getwifiMacAddress() {

try {
return loadFileAsString("/sys/class/net/wlan0/address")
.toUpperCase().substring(0, 17);
} catch (IOException e) {
e.printStackTrace();
return "";
}
}

private 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();

}


说明:以上方法需要在wifi打开的情况下才能正常获取。