androidsupplicant
❶ Android下怎麼通過應用程序同時開啟wifi和3G
編程時候發現當打開WIFI網路的時候系統默認就會把3G網路給關閉,估計是出於省電的原因才如此做的,但目前我需要同時使用這兩個網路介面,經過一番研究找到了方法,故寫成日誌記錄下來。
1、android網路機制。
wifi的開啟關閉首先由應用程序觸發的事件開始(比如用戶點擊開啟圖標),然後傳入framework層,framework層啟動wpa_supplicant,同時建立socket連接與wpa_supplicant進行通信,包括對wpa_supplicant的控制與得到wpa_supplicant的回傳結果。若連接上了一個無線網路,則調用dhcp服務申請ip地址(或者使用預先設置好的ip,不過大部分情況下是dhcp的)。若這一切正常則斷開3g網路連接並關閉3g介面。
因此從這個角度分析,若要同時啟動3g和wifi則必須繞過framework層,手動完成上述所有操作。
因此我找到的方法是在3g網路不斷的情況下,手動啟動wifi網路,連接指定ap並申請ip。
2、操作步驟。
(1) 准備工作
因為牽扯到底層操作,所以root必不可少,在root的情況下進入adb shell,若adb daemon沒有root使用adb root命令進而使adb shell獲得root許可權。
原則上使用android里的終端軟體也是可以的,但我沒有測試。
(2)載入wifi驅動。
不載入驅動在netcfg裡面根本看不到wlan0網卡,因此首先要載入驅動。
一般情況下,驅動放在/system/lib/moles下,我的驅動模塊是wlan.ko。
insmod /system/lib/moles/wlan.ko。
接著刪除默認路由表項
ip route del default via 172.18.206.76 dev rmnet_usb0
重新添加指向wifi的默認路由表
ip route add default via 192.168.1.140 dev wlan0
❷ 如何查看android的wifi密碼
首先手機需要獲取ROOT許可權,然後安裝可查看系統文件的文件管理器,比如 Root Explorer。
具體步驟:
1、獲取ROOT許可權,如果手機已經有ROOT則可以跳過此步驟。
2、安裝Root Exploere。
3、打開Root Exploere,進入data/misc/wifi。
4、打開目錄里wpa_supplicant.conf或者其他文件名以.conf結尾的文件,所有手機記住的wifi密碼都在這個文件里。
5、Android的wifi密碼是明文保存的打開wpa_supplicant.conf直接看了。
❸ android.net.wifi.supplicant.STATE_CHANGE廣播無法接收問題
在rockchip平台,5.1版本下
SUPPLICANT_STATE_CHANGED_ACTION需要通過靜態注冊才可以接收到!
類似SCREEN_ON OFF這種,注意這條思路。
???action從常量名改成字元串就可以了???是的。
❹ 如何查看android的wifi密碼
1、安裝Root Exploere
2、打開Root Exploere,進入data/misc/wifi
目錄里有個wpa_supplicant.conf或者其他文件名以.conf結尾的文件,所有手機記住的wifi密碼都在這個文件里。
Android的wifi密碼是明文保存的,我們只需要知道他在哪裡就可以打開直接看了
❺ 如何查看android的wifi密碼
手機必須先獲取root許可權,手機每次連接新的熱點後會將熱點名稱以及密碼存入以下路徑:
/data/misc/wifi/wpa_supplicant.conf
查看方法:用第三方文件管理器(如RootExplorer)進入到」/data/misc/wifi「路徑下查看」wpa_supplicant.conf「文件,並選用文本格式打開即可。
ROOT延伸:
ROOT存在於Linux系統、UNIX系統(如AIX、BSD等)和類UNIX系統(如Debian、Redhat、Ubuntu等版本的Linux系統以及Android系統)中,是系統中唯一的超級用戶,相當於Windows系統中的administrator用戶。其具有系統中所有的許可權,如啟動或停止一個進程,刪除或增加用戶,增加或者禁用硬體等等。
root用戶是系統中唯一的超級管理員,它具有等同於操作系統的許可權。一些需要root許可權的應用,譬如廣告阻擋,是需要root許可權的。可問題在於root比windows的系統管理員的能力更大,足以把整個系統的大部分文件刪掉,導致系統完全毀壞,不能再次使用。所以,用root進行不當的操作是相當危險的,輕微的可以死機,嚴重的甚至不能開機。所以,在Unix、Linux及Android中,除非確實需要,一般情況下都不推薦使用root。最好單獨建立一個普通的用戶,作為日常之用。