从Android6.0之后,google开始更多地关注用户隐私相关的数据,开始收紧应用请求用户隐私数据(包括设备标识符,短信,联系人,通话记录,帐号等等)的权限...
Android Q开始获取设备标识符的权限就更严格...
对于一个第三方应用,在Android Q上将无法获取到设备唯一标识符
硬件标识符访问权(MAC)
MAC地址具有全局唯一性,无法被用户重置,恢复出厂设置后也不会变化
Android 6.0 的变更
从Android6.0,本地设备的MAC地址(WLAN和蓝牙),无法通过提供的api WifiInfo.getMacAddress()
和BluetoothAdapter.getDefaultAdapter().getAddress()
获取到了,这两个方法现在会返回默认常量值02:00:00:00:00:00
Android官方不见用MAC标识符作为用户设备的标识符,但是有些应用可能还是需要采集更多的设备信息来判断用户行为,可通过下面方式来获取wifi mac地址和蓝牙的mac地址
private static String getWifiMacAddress() {
byte[] mac = null;
try {
Enumeration<Networ