Как получить MAC-адрес сетевого интерфейса WiFi?

Это кажется java.net. Реализация NetworkInterface андроида не имеет a
байт [] getHardwareAddress () метод http://developer.android.com/reference/java/net/NetworkInterface.html

Я нашел несколько форумов людей, пытающихся сделать это без категорического ответа, я должен добраться несколько перекрестное устройство UUID, таким образом, я не могу полагаться на номера телефона или в ANDROID_ID (который может быть перезаписан и который я думаю, зависит от пользователя, имеющего учетную запись Google), http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID

В Linux можно использовать ifconfig или читать из/proc/net/arp, и можно легко получить Аппаратный адрес.

Существует ли файл в андроиде, который я могу считать?

Должен быть способ получить этот адрес, так как его показывают в "Настройках> О Телефоне> Состояние" телефона.

39
задан Magnus Hoff 6 August 2010 в 09:21
поделиться

2 ответа

Должен быть способ получить этот адрес , поскольку он отображается в "Настройки> О телефоне> Статус" телефона.

Это означает, что, по крайней мере, вы можете возиться с открытым исходным кодом Android, возможно, используя Google Code Search, чтобы выяснить, откуда он это берет.

Немного потрудившись, похоже, он использует getMacAddress () из WifiInfo .

22
ответ дан 27 November 2019 в 02:07
поделиться

Поздний ответ, но он может помочь другим с той же «проблемой».

Ответ действительно прост:

WifiManager wifiMan = (WifiManager) this.getSystemService(
                Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
String macAddr = wifiInf.getMacAddress();

Приведенный выше код даст вам MAC-адрес вашего устройства, не забудьте включить Wi-Fi при захвате адреса. Этот фрагмент кода следует использовать в вашей деятельности.

93
ответ дан 27 November 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: