[英]Getting MAC address of Android Wi-Fi Hotspot/tethering/AP
我可以通過以下方式獲取Android中Wi-Fi接口的MAC地址:
final WifiInfo wi = wm.getConnectionInfo();
String mac = wi.getMacAddress();
但是,我意識到,當Wi-Fi充當無線接入點(路由器)(又名熱點或網絡共享或AP)時,MAC地址不再相同。 我可以從adb shell ip addr show
知道。
當Wi-Fi連接到網絡時, adb shell ip addr show
顯示:
10: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether a0:0b:ba:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.1.25/24 brd 192.168.1.255 scope global wlan0
inet6 fe80::a20b:baff:fee0:73c7/64 scope link
valid_lft forever preferred_lft forever
但是,當它充當接入點時,
10: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 02:1a:11:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.43.1/24 brd 192.168.43.255 scope global wlan0
所以MAC地址不同。
我想知道如何從Java代碼獲取Wi-Fi接入點( 02:1a:11:xx:xx:xx
)的MAC地址?
這是Android中的錯誤或功能。 每次啟動AP / Wlan綁定時,都會生成一個隨機的mac地址,直到您停止服務為止。
這是在2011年報告的,所以我認為這不會很快改變https://code.google.com/p/android-wifi-tether/issues/detail?id=1104
更新2018:似乎他們正式宣布這是一個安全功能: https : //source.android.com/devices/tech/connect/wifi-mac-randomization
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.