6

我编写了以下代码来获取 MAC 地址:

WifiManager wimanager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
String address = wimanager.getConnectionInfo().getMacAddress();
Log.d("TOKEN", address);

这在我的手机上完美运行,但在 Android 模拟器中它返回 null。这是因为安卓模拟器没有MAC地址吗?

4

3 回答 3

4

这与您尝试在模拟器上获取蓝牙内容时相同。没有 MacAdress 并且应该返回 null。尝试在真实设备上,它会工作。代码是正确的。

于 2012-05-22T19:12:56.103 回答
0

请参阅我已提交 Utils.java 示例以提供纯 Java 实现并在没有 WifiManager 的情况下工作的这篇文章。代码也适用于模拟器。

Utils.getMACAddress("wlan0");
Utils.getMACAddress("eth0");
Utils.getIPAddress(true); // IPv4
Utils.getIPAddress(false); // IPv6 
于 2012-10-22T08:46:38.750 回答
0

默认情况下,Android 模拟器运行模拟以太网连接,而不是 wifi 连接。由于未启用 Wifi,因此您的代码不会显示 wifi mac 地址。请参阅http://kmansoft.com/2010/07/27/debugging-wifi-in-the-emulator/

在尝试查看我的设备上的所有网络设备和 MacAddress 时,我发现这个答案非常有用 - https://stackoverflow.com/a/17719579/90236查看

于 2014-04-02T18:50:24.953 回答