Java 从活动连接获取mac地址
我在获取macaddress时遇到了麻烦,因为我更换了路由器,mac也发生了变化,我不知道为什么 这是我的密码Java 从活动连接获取mac地址,java,android,mobile,mac-address,Java,Android,Mobile,Mac Address,我在获取macaddress时遇到了麻烦,因为我更换了路由器,mac也发生了变化,我不知道为什么 这是我的密码 公共地址getMACAddress(字符串网络){ 试一试{ List interfaces=Collections.List(NetworkInterface.getNetworkInterfaces()); 用于(网络接口n:接口){ if(网络!=null){ 如果(!n.getName().equalsIgnoreCase(网络))继续; } 字节[]mac=n.getHard
公共地址getMACAddress(字符串网络){
试一试{
List interfaces=Collections.List(NetworkInterface.getNetworkInterfaces());
用于(网络接口n:接口){
if(网络!=null){
如果(!n.getName().equalsIgnoreCase(网络))继续;
}
字节[]mac=n.getHardwareAddress();
if(mac==null)返回null;
StringBuilder buf=新的StringBuilder();
对于(字节aMac:mac)buf.append(String.format(“%02X:”,aMac));
如果(buf.length()>0)buf.deleteCharAt(buf.length()-1);
返回新地址(buf.toString(),n.getDisplayName(),false);
}
}捕获(忽略异常){}
返回新地址(默认,“默认掩码”,false);
}
除了mac或imei之外,是否还有任何其他信息可以识别设备
public Address getMACAddress( String network ) {
try {
List<NetworkInterface> interfaces = Collections.list( NetworkInterface.getNetworkInterfaces() );
for ( NetworkInterface n : interfaces ) {
if ( network != null ) {
if ( !n.getName().equalsIgnoreCase( network ) ) continue;
}
byte[] mac = n.getHardwareAddress();
if (mac==null) return null;
StringBuilder buf = new StringBuilder();
for (byte aMac : mac) buf.append(String.format("%02X:",aMac));
if (buf.length()>0) buf.deleteCharAt(buf.length()-1);
return new Address( buf.toString(), n.getDisplayName(), false );
}
} catch (Exception ignored) { }
return new Address( DEFAULT, "Default mask", false );
}