Android设备模拟器是否有MAC地址?

时间:2012-05-22 19:05:18

标签: java android wifi avd mac-address

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

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

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

3 个答案:

答案 0 :(得分:4)

这与您尝试在模拟器上保留蓝牙功能时相同。没有MacAdress,应该返回null。尝试一个真正的设备,它会工作。代码是正确的。

答案 1 :(得分:0)

See this post我已经提交了Utils.java示例以提供纯java实现,并且在没有WifiManager的情况下工作。代码也适用于模拟器。

Utils.getMACAddress("wlan0");
Utils.getMACAddress("eth0");
Utils.getIPAddress(true); // IPv4
Utils.getIPAddress(false); // IPv6 

答案 2 :(得分:0)

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

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