mac地址又称为物理地址,和ip地址不同的是,mac地址由网卡决定,也就是一个设备只能有一个mac地址,所以经常作为唯一标识码来使用 取MAC 地址有一个BUG,就是 网卡没有初始化时,获取到的是空 获取mac必须是打开wifi设置过一次(之后关闭也没事),之后就会正常获取到mac 如下获取方式可以循环获取mac地址,直到获取成功 public static String getMac(Context context) { String macAddress = null; WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo info = (null == wifiManager ? null : wifiManager.getConnectionInfo()); if (!wifiManager.isWifiEnabled()) { //必须先打开,才能获取到MAC地址 wifiManager.setWifiEnabled(true); wifiManager.setWifiEnabled(false); } if (null != info) { macAddress = info.getMacAddress(); } if (!TextUtils.isEmpty(macAddress)) { macAddress = macAddress.replaceAll(":", ""); } else { getMac(context); } return macAddress; }
参考: