【发布时间】:2016-01-14 13:00:50
【问题描述】:
我正在开发一个获取设备 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。
【问题讨论】:
-
您确定在获取 MAC 地址之前检查了
ACCESS_WIFI_STATE吗?在 M 中,如果你只在 Manifest 中要求它,它就行不通,你必须像这样在 rumtime 中实现它:youtube.com/… -
感谢您的回答。我的清单中有该权限,但是当我按照视频中所示以编程方式检查它时,Android Studio 无法识别“checkSelfPermission”,我不知道是否可能是因为我的目标是 API 21 Lollipop 并且没有'未安装 API 23 Marshmallow。
-
在调用 checkSelfPermission 之前,您应该检查 SDK 版本是否低于 API 23 Marshmallow,如下所示:stackoverflow.com/questions/3423754/…
-
在目标级别拥有最新的 Android API 版本总是好的
-
请检查这个解决方案,它对我有用stackoverflow.com/questions/31329733/…
标签: android wifi mac-address