美文网首页
获取设备的mac地址

获取设备的mac地址

作者: shawnleng | 来源:发表于2021-12-22 15:16 被阅读0次

Android 6.0以下

  
// Android 6.0之前的版本可以用的方法(模拟器可以使用)  
public String getLocalMacAddress() {  
    WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);  
    //  WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);  
 WifiInfo info = wifi.getConnectionInfo();  
    return info.getMacAddress();  
}

Android 6.0以上


public String getWifiMacAddress(Context context) {  
    String ret = "";  
    try {  
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {  
            String interfaceName = "wlan0";  
            Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();  
            NetworkInterface intf = null;  
            while (interfaces.hasMoreElements()) {  
                intf = interfaces.nextElement();  
                if (!intf.getName().equalsIgnoreCase(interfaceName)) {  
                    continue;  
                }  
                byte[] mac = intf.getHardwareAddress();  
                if (mac != null) {  
                    StringBuilder buf = new StringBuilder();  
                    for (byte aMac : mac) {  
                        buf.append(String.format("%02X:", aMac));  
                    }  
                    if (buf.length() > 0) {  
                        buf.deleteCharAt(buf.length() - 1);  
                    }  
                    ret = buf.toString();  
                }  
                break;  
            }  
        } else {  
            WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);  
            if (wifi != null) {  
                WifiInfo wifiInfo = wifi.getConnectionInfo();  
                if (wifiInfo != null) {  
                    ret = wifiInfo.getMacAddress();  
                }  
            }  
        }  
        return ret;  
    } catch (Throwable e) {  
        e.printStackTrace();  
    }  
    return ret;  
}

  • 注:部分手机获取到的是一个随机的mac -

定制的安卓一体机

以上两种方法可能都获取不到,可能需要厂商的api

相关文章

网友评论

      本文标题:获取设备的mac地址

      本文链接:https://www.haomeiwen.com/subject/ofbqqrtx.html