我可以通过以下方式获取

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: 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: 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地址?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐