Имеет ли эмулятор устройства Android MAC-адрес?

Я написал следующий код, чтобы получить MAC-адрес:

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

это отлично работает на моем телефоне, но в эмуляторе Android он возвращает значение null. Это потому что эмулятор Android не имеет MAC-адрес?

3 ответов


Это то же самое, что и при попытке получить материал bluetooth на эмуляторе. Нет MacAdress и должен возвращать null. Попробовать на реальном устройстве и он будет работать. Код правильный.


этот пост где я представил Utils.пример java для обеспечения реализаций pure-java и работает без WifiManager. Код работает и в эмуляторе.

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

по умолчанию эмулятор Android запускает эмуляцию Ethernet-соединения, но не wifi-соединения. Поскольку Wifi не включен, ваш код не показывает mac-адрес wifi. См.http://kmansoft.com/2010/07/27/debugging-wifi-in-the-emulator/

Я нашел этот ответ очень полезным при попытке просмотреть все сетевые устройства и MacAddress на моем устройстве -https://stackoverflow.com/a/17719579/90236 видеть