Comment obtenir l'adresse MAC de l'interface réseau WiFi ?

? Gubatron @ | Original: StackOverFlow

Il semble la mise en œuvre de java.net.NetworkInterface d'Android n'a pas de Procédé de byte [] de getHardwareAddress ()  http://developer.android.com/reference/java/net/NetworkInterface.html

Je ai trouvé plusieurs forums de gens qui essaient de le faire avec pas de réponse définitive, je ai besoin d'obtenir un UUID peu multi-appareils, donc je ne peux pas compter sur les numéros de téléphone ou ANDROID_ID ( qui peut être écrasé et que je pense dépend sur l'utilisateur ayant un compte google )  http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID

Sous Linux, vous pouvez utiliser ifconfig ou de lire à partir de / proc / net / arp et vous pouvez facilement obtenir l'adresse matérielle .

Y at-il un fichier dans android que je peux lire ?

Il doit y avoir un moyen d'obtenir cette adresse car il est indiqué dans les "Paramètres> À propos du téléphone > État" du téléphone.

Top 5 Répondre

1CommonsWare @

Il doit y avoir un moyen d'obtenir cette   adresse car il est indiqué dans le   "Paramètres > À propos du téléphone > État" du   le téléphone.

Ce qui signifie, si rien d'autre, vous pouvez aller putter autour du code open source Android, peut-être en utilisant Google Recherche de code, de comprendre où il tire qu'à partir .

Faire un peu de moi-même bricoler, il semblerait qu'il utilise getMacAddress() de WifiInfo .

2Tobiaswk @

Réponse tardive, mais il peut aider les autres avec le même "problème" .

Le http://wkjeldsen.dk/2010/index.php?a=17 est vraiment simple :

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

Le code ci-dessus vous permet d'obtenir l'adresse MAC de votre appareil, ne oubliez pas d'avoir wifi activé lorsque saisissant l'adresse . Cet extrait de code doit être utilisé dans votre activité .