我正在开发一个获取设备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
。
请参考Android 6.0更改。
为了从版本开始,Android为用户提供更好的数据保护,对于使用Wi-Fi和Bluetooth API的应用,Android删除对设备本地硬件标识符的编程访问。WifiInfo.getMacAddress()和BluetoothAdapter.getAddress()方法现在返回常量值02:00:00:00:00:00。
要通过蓝牙和Wi-Fi扫描访问附近的外部设备的硬件标识符,您的应用现在必须具有ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句