我正在开发一个获取设备 MAC 地址的应用程序,但从 Android 6.0 开始,我的代码不起作用,给了我一个不正确的值。
这是我的代码...
public String ObtenMAC()
{
WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
return(info.getMacAddress().toUpperCase());
}
它返回的不是真实的 MAC 地址,而是一个奇怪的代码:02:00:00:00:00:00
.
请参阅安卓 6.0 的变化.
为了向用户提供更好的数据保护,从本版本开始,Android 取消了使用 Wi-Fi 和蓝牙 API 的应用程序对设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress() 方法现在返回常量值 02:00:00:00:00:00。
要通过蓝牙和 Wi-Fi 扫描访问附近外部设备的硬件标识符,您的应用现在必须具有 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)