使用wlan mac地址作为设备唯一标识,wlan mac可以理解为无线网卡的id,硬件烧录好的,不可更改,唯一
- Android版本 >= Android10
// 添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission Android:name="android.permission.ACCESS_NETWORK_STATE" />
// 无线网开关必须打开,不一定连接wifi
// 先判wifi是否打开
if (isWifiOpened() == true) { //如果已经打开
String macAddress = PackageUtil.getMacAddress();
} else {
// 提示wifi没打开
}
private boolean isWifiOpened() {
WifiManager wifiManager = (WifiManager)
getApplicationContext().getSystemService(Context.WIFI_SERVICE);
return wifiManager.isWifiEnabled();
}
- Android版本 < Android10, (Android 7,8,9用虚拟机验证的)
// 添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission Android:name="android.permission.ACCESS_NETWORK_STATE" />
// 无线网开关不用打开
String macAddress = PackageUtil.getMacAddress();
官方给出的解决方案
UUID解决方案
网友评论