2011-05-19 24 views
22

¿Mi aplicación para Android puede encontrar la dirección MAC del punto de acceso Wifi al que está conectado?¿Puedo encontrar la dirección MAC de mi punto de acceso en Android?

la documentación para android.net.wifi.WifiInfo getmacaddress() no proporcionan ningún detalle. Ver http://developer.android.com/reference/android/net/wifi/WifiInfo.html#getMacAddress(). Supongo que esta es la dirección Mac de mi teléfono. ¿Puedo encontrar la dirección Mac del punto de acceso?

+0

Marc, ¿pueden por favor publicar eso como respuesta para que yo pueda aceptarlo? Está justo en el blanco, BSSID es la dirección MAC de AP en modo de infraestructura - http://en.wikipedia.org/wiki/Service_set_(802.11_network)#Basic_service_set_identifier_.28BSSID.29. Y Android expone android.net.wifi.WifiInfo getBSSID() –

+0

Gracias Michael, me alegra saber que está trabajando para ti. –

Respuesta

16

getBSSID() de WifiInfo clase volverá dirección MAC del punto de acceso remoto.

BSSID explicó here.

+0

Gracias. Me di cuenta de eso después de que Marc comentó mi pregunta anterior. –

+1

No estoy seguro de lo que está pasando, pero recibo dos direcciones diferentes cuando intento buscar el BSSID desde dos dispositivos diferentes conectados al mismo enrutador wifi. ¿Algunas ideas? – Urban

+0

BSSID no es la dirección MAC del AP, es la dirección MAC del ssid. La explicación detallada se puede encontrar en https://arubanetworkskb.secure.force.com/pkb/articles/FAQ/How-is-the-BSSID-derived-from-the-Access-Point-ethernet-MAC-address – Anuruddha

3

Estoy bastante seguro de que getmacaddress(), es, como se sospechaba desde el dispositivo local.

Si puede obtener la IP del enrutador/puerta de enlace/punto de acceso, entonces es posible que pueda usar el código en esta publicación: http://www.flattermann.net/2011/02/android-howto-find-the-hardware-mac-address-of-a-remote-host/ para hacer su oferta. ¡Buena suerte!

+1

Estaba a punto de publicar el mismo enlace. Es curioso lo que puede aparecer Google. ;-) @Michael: android.net.DhcpInfo.gateway podría ser lo que necesita para la dirección IP del AP – Squonk

3

Consulte la aplicación "Información de red II" en el Android Market. Muestra la dirección MAC, pero no estoy seguro si este sigue siendo el MAC del teléfono. También muestra el BSSID, que tiene el mismo formato que una dirección MAC, por lo que tal vez sea lo que está buscando.

11

El siguiente método devolverá la dirección MAC del punto de acceso, null si no existe una red conectada en ese momento.

public String getMacId() { 

    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
    WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
    return wifiInfo.getBSSID(); 
} 
Cuestiones relacionadas