介绍一种获取以太网mac地址的一种方法,该方法支持支持Android 14以下系统,该方法是通过读取/sys/class/net/eth0/address节点进行以太网mac地址获取。
函数如下:
private static String ParseFileAsString(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();
}
public String readEthMacAddress() {
try {
return ParseFileAsString("/sys/class/net/eth0/address")
.toUpperCase().substring(0, 17);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
因为工业环境比较复杂,所以一般使用有线连接比较稳定,然后我这边的客户需求是把机器安装的固定产线上的,所以是通过绑定以太网mac地址和产线任务方式来的。
我这边测试的工位机覆盖的版本范围:(android7.1.4, android14)
传统的手机可能因为不同系统限制,android14不一定行,具体我没尝试,这个要注意!!!