WifiInfo.getMacAddress()在Android 6.0设备中返回02:00:00:00:00 aways

WifiInfo.getMacAddress()在Android 6.0设备中返回02:00:00:00:00 aways,android,Android,从Android 6.0开始,我了解到: Android删除对设备本地硬件的编程访问 使用Wi-Fi和蓝牙API的应用程序的标识符。 WifiInfo.getMacAddress()和BluetoothAdapter.getAddress() 方法现在返回的常量值为02:00:00:00:00 但是,我感到困惑的是,当我的targetSdkVersion低于23时,它仍然在android 6.0设备中返回常量。在我看来,我认为它应该返回一个唯一的硬件标识符,因为应用程序的前向兼容性。为什么系统没

从Android 6.0开始,我了解到:

Android删除对设备本地硬件的编程访问
使用Wi-Fi和蓝牙API的应用程序的标识符。
WifiInfo.getMacAddress()和BluetoothAdapter.getAddress() 方法现在返回的常量值为02:00:00:00:00

但是,我感到困惑的是,当我的targetSdkVersion低于23时,它仍然在android 6.0设备中返回常量。在我看来,我认为它应该返回一个唯一的硬件标识符,因为应用程序的前向兼容性。为什么系统没有启用任何兼容性行为? 这是我的sdk:

 android:minSdkVersion="8"
 android:targetSdkVersion="22"
这是我的方法:

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String macAddress = wifiInfo.getMacAddress();
谢谢。请原谅我的英语不好

为什么系统没有启用任何兼容性行为

为了数据保护,我们无权享受此类前向兼容性。你的应用程序还在运行,对吗?因此,它是向前兼容的。但安全漏洞必须得到解决,即使它损害了某人的合法目的


发送一个常量值
02:00:00:00:00
是一种兼容性行为,否则它们只会返回
null
value

我似乎理解一些,感谢您回答我关于Stackvoerflow的第一个问题。如果答案满足您的问题,您需要接受答案。谢谢