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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM