Android获取wifi MAC,关闭的wifi不能获取

Posted Boblim

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android获取wifi MAC,关闭的wifi不能获取相关的知识,希望对你有一定的参考价值。

最近一直在尝试着在android上通过ndk用C++获取本机MAC地址,但是用ioctl(SIOCGIFHWADDR)时,一直返回值小于0,即获取不到接口信息。刚开始我以为是自己漏掉了哪些访问权限,所以一直在增加uses-permission,后来发现不管怎么加都是这个情况,发现原来是用的android studio虚拟机没有打开wifi导致的。
因为WiFi的Mac address是一个被动资讯。一般在开机后,不会主动上报到系统裡。要待WiFi硬件启动后,才会把有关Mac address资料记载入系统去。所以要得到Mac address,一是等待WiFi启动,一是在程序中主动启动WiFi,得到Mac address后再把WiFi关掉。

(注:遍历了Android模拟器的接口之后,发现网卡名称只有eth0和lo(回环接口)两个,所以一般选择指定回去eth0)


以上是关于Android获取wifi MAC,关闭的wifi不能获取的主要内容,如果未能解决你的问题,请参考以下文章

如何获取Android系统的wifi MAC和有线MAC

获取没有Wifi的android设备的MAC地址

android手机如何获取自己手机设置的wifi热点的bssid

Android如何获取到连接的WIFI无线路由器的所有客户端的MAC地址?

获取android以太网MAC地址(不是wifi接口)

如何获取WiFi网络接口的MAC地址?