2011-06-08 53 views
6

我使用下面的代碼:如何在android中獲取WIFI接口的MAC地址?

WifiManager wifiMgr = (WifiManager) app.getSystemService(Context.WIFI_SERVICE); 
return wifiMgr.getConnectionInfo().getMacAddress(); 

問題是,在WIFI必須在設備,以便給我讀它的地址啓用。 即使WIFI關閉,我仍能如何讀取WIFI的MAC?

回答

15

你不行。根據設備的不同,如果WiFi適配器被禁用,那麼它實際上可能會被電子關閉,所以您無法從中讀取任何信息。

Android Developers Blog

的Mac地址

也許可以檢索從 設備的WiFi或藍牙硬件MAC地址。我們不建議使用這個作爲 的唯一標識符。首先,並非所有設備都具有WiFi。 此外,如果WiFi未打開, 硬件可能不會報告Mac 地址。

+1

什麼是識別設備的唯一序列那麼最好的方法是什麼? – Himberjack 2011-06-08 09:05:54

+1

查看此Android開發人員博客文章:http://android-developers.blogspot.com/2011/03/identifying-app-installations.html – 2011-06-08 09:09:27

+1

廢話。即使Wi-Fi已關閉,也可以讀取MAC地址。當您在手機設置下查看MAC地址時,即使操作系統也這樣做。 – AndroidDev 2012-11-05 16:21:13

-9
WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
String mac = wm.getConnectionInfo().getMacAddress(); 
+8

這正是OP已經嘗試過的。閱讀問題。還請閱讀Android開發者博客文章,其中確認,如果禁用適配器,這在許多設備上不起作用。 http://android-developers.blogspot.com/2011/03/identifying-app-installations.html – 2012-11-05 16:30:12

+0

這是否獲得沒有Wifi的移動數據的MAC地址? – tejas 2013-05-24 10:20:51

相關問題