Cómo obtener la dirección MAC de la interfaz de red Wi-Fi ?

? Gubatron @ | Original: StackOverFlow
---

Parece que la aplicación java.net.NetworkInterface de Android no tiene un método byte [ ] getHardwareAddress ()  http://developer.android.com/reference/java/net/NetworkInterface.html

He encontrado varios foros de gente tratando de hacer esto con una respuesta definitiva, tengo que conseguir un UUID algo entre dispositivos, así que no puedo confiar en los números de teléfono o en ANDROID_ID (que puede ser sobrescrita y que creo que depende en que el usuario tenga una cuenta de google )  http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID

En linux puede utilizar ifconfig o leer / proc / net / arp y usted puede conseguir fácilmente la dirección de hardware .

¿Hay un archivo en Android que puedo leer ?

Tiene que haber una manera de obtener esta dirección, ya que ha mostrado en los "Ajustes > Acerca del teléfono > Estado" del teléfono.

---

Top 5 Respuesta

1CommonsWare @

Tiene que haber una manera de conseguir este   dirección, ya que está demostrado en el   "Ajustes > Acerca del teléfono> Estado" de   el teléfono.

Lo que significa que, si no otra cosa, se puede ir putter alrededor del código de fuente abierta Android, tal vez usando Google Code Search, para averiguar de dónde saca que a partir .

Haciendo un poco de puttering mí mismo, parece que está usando getMacAddress() de WifiInfo .

2Tobiaswk @

Respuesta tardía, pero puede ayudar a otros con el mismo "problema" .

El http://wkjeldsen.dk/2010/index.php?a=17 es muy sencillo :

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

El código anterior le dará la dirección MAC de su dispositivo, recuerde tener wifi habilitado cuando el acaparamiento de la dirección . Este fragmento de código se debe utilizar en su actividad .