本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及一種安卓(android)系統(tǒng)開(kāi)機(jī)后wifi回連的方法、裝置及終端設(shè)備。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,無(wú)線保真(wireless-fidelity,簡(jiǎn)稱wifi)技術(shù)越來(lái)越成熟,并且越來(lái)越多的用戶習(xí)慣通過(guò)終端設(shè)備接入wifi網(wǎng)絡(luò)接入互聯(lián)網(wǎng),實(shí)現(xiàn)對(duì)應(yīng)的網(wǎng)絡(luò)服務(wù)。
終端設(shè)備在接入wifi網(wǎng)絡(luò)之前,需先建立與接入點(diǎn)的wifi連接?;赼ndroid系統(tǒng)的終端設(shè)備開(kāi)機(jī)后,在init進(jìn)程啟動(dòng)后,需先啟動(dòng)systemserver進(jìn)程,在systemserver進(jìn)程啟動(dòng)后啟動(dòng)framework層,并在framework層啟動(dòng)后開(kāi)始加載wifi驅(qū)動(dòng),繼而啟動(dòng)supplicant中間件層,并創(chuàng)建framework層與所述supplicant中間件層的通信連接,實(shí)現(xiàn)與接入點(diǎn)的wifi連接。
然而,systemserver進(jìn)程的啟動(dòng)時(shí)間較長(zhǎng),使得android系統(tǒng)的終端設(shè)備開(kāi)機(jī)后wifi回連的時(shí)間較長(zhǎng),連接較慢,從而影響終端設(shè)備使用網(wǎng)絡(luò)的速度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種android系統(tǒng)開(kāi)機(jī)后wifi回連的方法、裝置及終端設(shè)備,以縮短android系統(tǒng)開(kāi)機(jī)后wifi回連的時(shí)間,提高網(wǎng)絡(luò)連接速度,從而提高終端設(shè)備可使用網(wǎng)絡(luò)的速度。
本發(fā)明實(shí)施例提供一種android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法,包括:
當(dāng)init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn);
待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建framework層與所述supplicant中間件層的通信連接,以創(chuàng)建路由使得所述上層應(yīng)用與所述目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。。
可選的,所述當(dāng)init進(jìn)程啟動(dòng)之后,所述方法還包括:
讀取預(yù)設(shè)位置是否存儲(chǔ)開(kāi)機(jī)標(biāo)識(shí)信息,所述開(kāi)機(jī)標(biāo)識(shí)信息用于表征當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài);
若是,則開(kāi)始加載所述wifi驅(qū)動(dòng)以及啟動(dòng)所述supplicant中間件層。
可選的,所述待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建所述framework層與所述supplicant中間件層的通信連接之前,所述方法還包括:
若檢測(cè)到systemserver進(jìn)程啟動(dòng)后,刪除用于卸載所述wifi驅(qū)動(dòng)的指令。
可選的,所述待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建所述framework層與所述supplicant中間件層的通信連接,包括:
在檢測(cè)到所述framework層啟動(dòng)后,周期性的讀取所述wifi驅(qū)動(dòng)的加載狀態(tài);
若所述wifi驅(qū)動(dòng)加載成功,則讀取所述supplicant中間件層的啟動(dòng)狀態(tài);
在所述supplicant中間件層啟動(dòng)成功后,創(chuàng)建所述framework層和所述supplicant中間件層的通信連接。
可選的,所述加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層,包括:
若所述wifi驅(qū)動(dòng)加載成功,則在刪除用于清空無(wú)線局域網(wǎng)wlan信息以及清除所述supplicant中間件層的運(yùn)行指令后,啟動(dòng)所述supplicant中間件層。
本發(fā)明實(shí)施例還提供一種android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的裝置,包括:
加載啟動(dòng)模塊,用于當(dāng)init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn);
創(chuàng)建模塊,用于待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建所述framework層與所述supplicant中間件層的通信連接,以創(chuàng)建路由使得所述上層應(yīng)用與所述目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。
可選的,所述裝置還包括:
讀取模塊,用于當(dāng)所述init進(jìn)程啟動(dòng)之后,讀取預(yù)設(shè)位置是否存儲(chǔ)開(kāi)機(jī)標(biāo)識(shí)信息,所述開(kāi)機(jī)標(biāo)識(shí)信息用于表征當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài);
所述加載啟動(dòng)模塊,具體用于若所述預(yù)設(shè)位置存儲(chǔ)所述開(kāi)機(jī)標(biāo)識(shí)信息,則開(kāi)始加載所述wifi驅(qū)動(dòng)以及啟動(dòng)所述supplicant中間件層。
可選的,所述裝置還包括:
刪除模塊,用于在所述創(chuàng)建模塊創(chuàng)建所述framework層與所述supplicant中間件層的通信連接之前,若檢測(cè)到systemserver進(jìn)程啟動(dòng)后,刪除用于卸載所述wifi驅(qū)動(dòng)的指令。
可選的,所述讀取模塊,還用于在檢測(cè)到所述framework層啟動(dòng)后,周期性的讀取所述wifi驅(qū)動(dòng)的加載狀態(tài);若所述wifi驅(qū)動(dòng)加載成功,則讀取所述supplicant中間件層的啟動(dòng)狀態(tài);
所述創(chuàng)建模塊,具體用于在所述supplicant中間件層啟動(dòng)成功后,創(chuàng)建所述framework層和所述supplicant中間件層的通信連接。
可選的,所述刪除模塊,還用于若所述wifi驅(qū)動(dòng)加載成功,則刪除用于清空無(wú)線局域網(wǎng)wlan信息以及清除所述supplicant中間件層的運(yùn)行指令;
所述加載啟動(dòng)模塊,具體用于在刪除用于清空所述wlan信息以及清除所述supplicant中間件層的運(yùn)行指令后,啟動(dòng)所述supplicant中間件層。
本發(fā)明實(shí)施例還提供一種終端設(shè)備,包括:存儲(chǔ)器和處理器;所述存儲(chǔ)器與所述處理器連接;
所述存儲(chǔ)器,用于存儲(chǔ)程序指令;
所述處理器,用于調(diào)用所述存儲(chǔ)器中存儲(chǔ)的所述程序指令,使得所述處理器執(zhí)行上述任一所示的android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法。
本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法、裝置及終端設(shè)備,可通過(guò)當(dāng)init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn),待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建framework層與該supplicant中間件層的通信連接,以創(chuàng)建路由使得該上層應(yīng)用與該目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。該方法中可在init進(jìn)程啟動(dòng)后,便通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層確定用于wifi回連的目標(biāo)接入點(diǎn),而無(wú)需等到該framework層啟動(dòng)后再確定目標(biāo)接入點(diǎn),有效縮短了android系統(tǒng)開(kāi)機(jī)后的wifi回連的時(shí)間,提高了wifi連接速度,提高終端設(shè)備可使用網(wǎng)絡(luò)的速度。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的wlan連接方法的流程圖一;
圖2為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法的流程圖二;
圖3為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法的流程圖三;
圖4為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法的流程圖四;
圖5為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置的結(jié)構(gòu)示意圖一;
圖6為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置的結(jié)構(gòu)示意圖二;
圖7為本發(fā)明實(shí)施例提供的終端設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明下述各實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法,可適用于基于android系統(tǒng)的終端設(shè)備,其中,該終端設(shè)備例如可以為智能手機(jī)、平板電腦、計(jì)算機(jī)、穿戴式設(shè)備等任一。
如下結(jié)合多個(gè)實(shí)例進(jìn)行具體說(shuō)明。圖1為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法的流程圖一。該android系統(tǒng)開(kāi)機(jī)后wifi回連的方法可由wifi回連裝置執(zhí)行,該wifi回連裝置可通過(guò)軟件和/或硬件的方式集成在基于android系統(tǒng)的終端設(shè)備內(nèi)。如圖1所示,該方法可包括:
s101、當(dāng)init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn)。
其中,init進(jìn)程可以為android系統(tǒng)的初始化進(jìn)程。該wifi驅(qū)動(dòng)可以為該android系統(tǒng)中用于無(wú)線接入的驅(qū)動(dòng)程序。該supplicant中間件層可以為android系統(tǒng)中的wpa_supplicant中間件層。
該supplicant中間件層為應(yīng)用層認(rèn)證客戶端,用于支持無(wú)線設(shè)備保密(wiredequivalentprivacy,簡(jiǎn)稱wep)協(xié)議、無(wú)線保真保護(hù)接入(wi-fiprotectedaccess,簡(jiǎn)稱wpa)協(xié)議、無(wú)線保真保護(hù)接入2(wi-fiprotectedaccess2,簡(jiǎn)稱wpa2)wpa2和無(wú)線局域網(wǎng)認(rèn)證和加密基礎(chǔ)(wirelesslanauthenticationandprivacyinfrastructure,簡(jiǎn)稱wapi)協(xié)議。該supplicant中間件層可通過(guò)套接字(socket)與上層應(yīng)用通信,也可通過(guò)套接字與wifi驅(qū)動(dòng)通信。
在該s101中可通過(guò)加載wifi驅(qū)動(dòng)和啟動(dòng)supplicant中間件層,獲取該supplicant中間件層的配置文件,該配置文件可包括:歷史的網(wǎng)絡(luò)配置信息,從該歷史的網(wǎng)絡(luò)配置信息中確定上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn),并對(duì)該存儲(chǔ)的wifi熱點(diǎn)進(jìn)行逐一掃描,繼而根據(jù)掃描結(jié)果確定目標(biāo)接入點(diǎn)。
該歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)中可包括:至少一個(gè)接入點(diǎn)的信息,每個(gè)接入點(diǎn)的信息可以包括該每個(gè)接入點(diǎn)的標(biāo)識(shí)如名稱。該歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)中,每個(gè)接入點(diǎn)均為已配置的接入點(diǎn)。
該目標(biāo)接入點(diǎn)例如可以為該存儲(chǔ)的wifi熱點(diǎn)中,距離當(dāng)前時(shí)間最近一次接入的接入點(diǎn);也可以為該存儲(chǔ)的wifi熱點(diǎn)中,接入成功次數(shù)最多接入點(diǎn);還可以為該存儲(chǔ)的wifi熱點(diǎn)中接入優(yōu)先級(jí)最高的接入點(diǎn);也可以為該存儲(chǔ)的wifi熱點(diǎn)中隨機(jī)的任一個(gè)接入點(diǎn)。該接入優(yōu)先級(jí)最高的接入點(diǎn)可以是根據(jù)預(yù)設(shè)的接入條件確定的,也可以是根據(jù)用戶輸入的配置信息確定的。
該s101中例如可采用linux命令加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層以完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn)。
由于執(zhí)行上述s101后已確定目標(biāo)接入點(diǎn),因此,在該s101之后,該方法便可使得上層應(yīng)用回連該目標(biāo)接入點(diǎn),并建立該上層應(yīng)用與該目標(biāo)接入點(diǎn)間的鏈路層連接,以建立該上層應(yīng)用與該目標(biāo)接入點(diǎn)間的網(wǎng)絡(luò)通路。其中,該鏈路層連接可以稱為底層連接。
需要說(shuō)明的是,該方法中,在確定該目標(biāo)接入點(diǎn)后,可使得該supplicant中間件層的wifi狀態(tài)機(jī)的未連接狀態(tài),以將wifi連接狀態(tài)設(shè)置為未連接狀態(tài)。其中,wifi狀態(tài)機(jī)的未連接狀態(tài)可表示為disconnectedstate。
在該上層應(yīng)用與該目標(biāo)接入點(diǎn)間的網(wǎng)絡(luò)通路創(chuàng)建好后,wifi連接狀態(tài)由未連接變化為連接狀態(tài),該wifi連接狀態(tài)的變化驅(qū)使wifi狀態(tài)機(jī)的狀態(tài)發(fā)生跳轉(zhuǎn),即由未連接狀態(tài)跳轉(zhuǎn)至連接狀態(tài)。該wifi狀態(tài)機(jī)的連接狀態(tài)可表示為connectedstate。
在該上層應(yīng)用與該目標(biāo)接入點(diǎn)間的網(wǎng)絡(luò)通路創(chuàng)建好后,supplicant中間層可將該wifi連接狀態(tài)進(jìn)行保存,并不斷嘗試將該wifi連接狀態(tài)上報(bào)至framework層,直至該framework層與該supplicant中間件層的通信連接創(chuàng)建成功。
可選的,在init進(jìn)程啟動(dòng)之前,該方法還可包括:?jiǎn)?dòng)引導(dǎo)加載(bootloader)程序,啟動(dòng)該android系統(tǒng)的內(nèi)核(kernel)程序。
該init進(jìn)程可以在該內(nèi)核程序啟動(dòng)后進(jìn)行啟動(dòng)。
s102、待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建該framework層與該supplicant中間件層的通信連接,以創(chuàng)建路由使得該上層應(yīng)用與該目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。
其中,該framework層可以為android系統(tǒng)的系統(tǒng)框架層。該framework層定義了客戶端和服務(wù)組件的服務(wù)和接口。
該s102中可通過(guò)創(chuàng)建該framework層與該supplicant中間件層進(jìn)行通信的套接字,創(chuàng)建該通信連接。
為保證該上層應(yīng)用與該目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信,在建立該上層應(yīng)用與該目標(biāo)接入點(diǎn)間的網(wǎng)絡(luò)通路的基礎(chǔ)上,該方法還需創(chuàng)建該網(wǎng)絡(luò)通路的路由。該方法中,例如可通過(guò)該framework層與該supplicant中間件層的通信連接,獲取該目標(biāo)接入點(diǎn)的路由信息,繼而根據(jù)該路由信息設(shè)置路由表,實(shí)現(xiàn)路由設(shè)置。
其中,該路由信息可包括如下至少一種:該目標(biāo)接入點(diǎn)的ip地址、該目標(biāo)接入點(diǎn)對(duì)應(yīng)的網(wǎng)關(guān)標(biāo)識(shí)、該目標(biāo)接入點(diǎn)對(duì)應(yīng)的子網(wǎng)掩碼、該目標(biāo)接入點(diǎn)對(duì)應(yīng)的路由器的ip地址、該目標(biāo)接入點(diǎn)對(duì)應(yīng)的域名系統(tǒng)(domainnamesystem,簡(jiǎn)稱dns)等。
舉例來(lái)說(shuō),在該通信連接創(chuàng)建的過(guò)程中,該方法還可包括:?jiǎn)?dòng)線程。該線程可以為該framework層從該supplicant中間件層獲取上報(bào)事件的線程,該線程可以為無(wú)線循環(huán)執(zhí)行的線程。也就是說(shuō),通過(guò)執(zhí)行啟動(dòng)該線程,該framework層可持續(xù)從該supplicant中間件層獲取該supplicant中間件層上報(bào)的事件。
由于在執(zhí)行上述s101后已確定目標(biāo)接入點(diǎn),因此在該通信連接創(chuàng)建好后,該framework層可通過(guò)該通信連接,從該supplicant中間件層獲取上述確定的該目標(biāo)接入點(diǎn)的信息,并將其通知至該上層應(yīng)用。
該framework層可通過(guò)在該通信連接創(chuàng)建過(guò)程中,所啟動(dòng)的線程,從該supplicant中間件層獲取該目標(biāo)接入點(diǎn)對(duì)應(yīng)的wifi連接狀態(tài),并通過(guò)該通信連接通知該上層應(yīng)用對(duì)該wifi連接狀態(tài)進(jìn)行更新。
若該wifi連接狀態(tài)為連接狀態(tài),則可由該framework層通過(guò)該通信連接從該supplicant中間層獲取該目標(biāo)接入點(diǎn)的路由信息。其中,該方法中,可啟動(dòng)該framework層中動(dòng)態(tài)主機(jī)配置協(xié)議(dynamichostconfigurationprotocol,簡(jiǎn)稱dhcp)層,使得該framework層采用dhcp通過(guò)該通信連接從該supplicant中間層獲取該目標(biāo)接入點(diǎn)的路由信息。需要說(shuō)明的是,該方法中,也可以是啟動(dòng)該framework層的互聯(lián)網(wǎng)協(xié)議(internetprotocol,簡(jiǎn)稱ip)層,使得該framework層采用ip協(xié)議通過(guò)該通信連接從該supplicant中間層獲取該目標(biāo)接入點(diǎn)的路由信息。當(dāng)然,該方法中還可啟動(dòng)framework層中的其他協(xié)議層獲取該路由信息,本發(fā)明不對(duì)此進(jìn)行限制。
可選的,若該wifi連接狀態(tài)為已連接狀態(tài),該方法中,在該framework層通過(guò)該通信連接從該supplicant中間層獲取該目標(biāo)接入點(diǎn)的路由信息之前,可使該supplicant中間件層由wifi狀態(tài)機(jī)跳轉(zhuǎn)至路由信息狀態(tài)機(jī),用以獲取該目標(biāo)接入點(diǎn)的路由信息。該路由信息獲取狀態(tài)機(jī)例如可以為,如ip地址的獲取狀態(tài)機(jī)(obtainingipstate)。
若該wifi連接狀態(tài)為未連接狀態(tài),則該方法可根據(jù)預(yù)設(shè)的掃描周期重新獲取該wifi連接狀態(tài),并通知上層應(yīng)用,等待用戶下發(fā)連接指令。如接收到用戶輸入的連接指令后,便可重新掃描以重新獲取該wifi連接狀態(tài)。
可選的,在創(chuàng)建路由后,便可確定wlan連接成功,該方法還可通知該上層應(yīng)用wifi連接成功。
本發(fā)明提供的android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法,可通過(guò)當(dāng)init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn),待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建framework層與該supplicant中間件層的通信連接,以創(chuàng)建路由使得該上層應(yīng)用與該目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。該方法中可在init進(jìn)程啟動(dòng)后,便通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層確定用于wifi回連的目標(biāo)接入點(diǎn),而無(wú)需等到該framework層啟動(dòng)后再確定目標(biāo)接入點(diǎn),有效縮短了android系統(tǒng)開(kāi)機(jī)后的wifi回連的時(shí)間,提高了wifi連接速度,提高終端設(shè)備可使用網(wǎng)絡(luò)的速度。
同時(shí),本發(fā)明實(shí)施例的方案在提高了wifi連接速度的情況下,還可提高終端設(shè)備的系統(tǒng)時(shí)間的更新速度,保證系統(tǒng)時(shí)間更加準(zhǔn)確。
在如所述的方法的基礎(chǔ)上,本發(fā)明實(shí)施例還可提供一種android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法。圖2為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法的流程圖二??蛇x的,在如上所示的s101中當(dāng)init進(jìn)程啟動(dòng)后,該方法還可包括:
s201、讀取預(yù)設(shè)位置是否存儲(chǔ)開(kāi)機(jī)標(biāo)識(shí)信息,該開(kāi)機(jī)標(biāo)識(shí)信息用于表征當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài)。
具體地,該方法中,可在android系統(tǒng)中,當(dāng)init進(jìn)程啟動(dòng)后,便可將開(kāi)機(jī)標(biāo)志位設(shè)置為開(kāi)機(jī)標(biāo)識(shí)信息,用以指示當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài),并將該開(kāi)機(jī)標(biāo)識(shí)信息存儲(chǔ)至該預(yù)設(shè)位置。該s201中可通過(guò)讀取該預(yù)設(shè)位置中存儲(chǔ)的信息,以確定該預(yù)設(shè)位置中是否存儲(chǔ)有該開(kāi)機(jī)標(biāo)識(shí)信息。
s202、若是,則開(kāi)始加載該wifi驅(qū)動(dòng)以及啟動(dòng)該supplicant中間件層。
若該預(yù)設(shè)位置中存儲(chǔ)有該開(kāi)機(jī)標(biāo)識(shí)信息,則可確定當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài),因而可開(kāi)始加載該wifi驅(qū)動(dòng)以及啟動(dòng)該supplicant中間件層。
若該預(yù)設(shè)位置中未存儲(chǔ)有該開(kāi)機(jī)標(biāo)識(shí)信息,則可確定當(dāng)前系統(tǒng)未處于開(kāi)機(jī)狀態(tài),因而無(wú)需執(zhí)行該s202。
該方法中,可通過(guò)讀取預(yù)設(shè)位置中存儲(chǔ)的開(kāi)機(jī)標(biāo)識(shí)信息,及時(shí)確定當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài),繼而開(kāi)始加載wifi驅(qū)動(dòng)以及啟動(dòng)該supplicant中間件層,以盡可能早地加載wifi驅(qū)動(dòng)以及驅(qū)動(dòng)該supplicant中間件層,繼而有效縮短android系統(tǒng)開(kāi)機(jī)后的wifi回連的時(shí)間,提高了wifi連接速度,提高終端設(shè)備可使用網(wǎng)絡(luò)的速度。
可選的,在init進(jìn)程啟動(dòng)后,該方法還可包括:
啟動(dòng)zygote進(jìn)程,啟動(dòng)系統(tǒng)服務(wù)(systemservice)進(jìn)程,啟動(dòng)無(wú)線保真服務(wù)(wifiservice)進(jìn)程。
該zygote進(jìn)程可以為android系統(tǒng)中的應(yīng)用創(chuàng)建進(jìn)程。systemservice進(jìn)程可以為android系統(tǒng)中的核心進(jìn)程,其可由zygote進(jìn)程創(chuàng)建。該framework層例如可以是在啟動(dòng)該systemservice進(jìn)程之后所啟動(dòng)的。
在該systemservice進(jìn)程啟動(dòng)后,該方法還可將設(shè)置開(kāi)機(jī)標(biāo)志位為其他信息,用以指示當(dāng)前系統(tǒng)已開(kāi)機(jī)完成。
可選的,在wifiservice進(jìn)程啟動(dòng)后,設(shè)置wifi使能。
具體地,該方法中,可通過(guò)調(diào)用setwifienabled()函數(shù),設(shè)置wifi使能。
在如所述的方法的基礎(chǔ)上,本發(fā)明實(shí)施例還可提供一種android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法。圖3為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后無(wú)線保真wifi回連的方法的流程圖三。可選的,在如上所示的方法基礎(chǔ)上,其中,s102中待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建該framework層與該supplicant中間件層的通信連接之前,該方法還可包括:
s301、在檢測(cè)到systemserver進(jìn)程啟動(dòng)后,刪除用于卸載該wifi驅(qū)動(dòng)的指令。
具體地,該方法中例如可以在檢測(cè)到systemserver進(jìn)程啟動(dòng)后,可將進(jìn)入無(wú)線保真狀態(tài)機(jī)初始狀態(tài)的方法中的用于卸載該wifi驅(qū)動(dòng)的指令進(jìn)行刪除,已在wifi狀態(tài)機(jī)處于初始狀態(tài)下不執(zhí)行卸載wifi驅(qū)動(dòng)的操作。其中,該進(jìn)入無(wú)線保真狀態(tài)機(jī)初始狀態(tài)的方法可以為wifistatemachineinitialstate的enter()方法。
在檢測(cè)到systemserver進(jìn)程啟動(dòng)后,及時(shí)刪除用于卸載該wifi驅(qū)動(dòng)的指令,可避免開(kāi)機(jī)過(guò)程中已加載的wifi驅(qū)動(dòng)被卸載,保證wifi回連。
可選的,s101在加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層可包括:
s301a、若該wifi驅(qū)動(dòng)加載成功,則在刪除用于清空wlan信息以及清除該supplicant中間件層的運(yùn)行指令后,啟動(dòng)該supplicant中間件層。
該方法中可在該wifi驅(qū)動(dòng)加載成功后,刪除用于清空wlan信息以及清除該supplicant中間件層的指令,并在刪除該指令后,啟動(dòng)該supplicant中間件層。
由于開(kāi)機(jī)過(guò)程中,wlan信息可能并不存在,無(wú)需進(jìn)行wlan信息的清空(clear),并且,該wifi驅(qū)動(dòng)加載后,supplicant中間件層還未啟動(dòng),因此也無(wú)需執(zhí)行supplicant中間件層的清除(kill),因此,可在刪除用于清空wlan信息以及清除該supplicant中間件層的運(yùn)行指令后,啟動(dòng)該supplicant中間件層。
該方法中,在刪除用于清空wlan信息以及清除該supplicant中間件層的指令后,可避免指令運(yùn)行的冗余,減小系統(tǒng)開(kāi)機(jī)過(guò)程中的運(yùn)行負(fù)荷。
可選的,如上所示的s102中待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建該framework層與該supplicant中間件層的通信連接可包括:
s302、在檢測(cè)到該framework層啟動(dòng)后,周期性的讀取該wifi驅(qū)動(dòng)的加載狀態(tài)。
s303、若該wifi驅(qū)動(dòng)加載成功,則讀取該supplicant中間件層的啟動(dòng)狀態(tài)。
若讀取到的該wifi驅(qū)動(dòng)的加載狀態(tài)為已加載,則可確定該wifi驅(qū)動(dòng)加載成功。若讀取到的該wifi驅(qū)動(dòng)的加載狀態(tài)為未加載,則繼續(xù)讀取該wifi驅(qū)動(dòng)的狀態(tài),直至該wifi驅(qū)動(dòng)加載成功。
s304、在該supplicant中間件層啟動(dòng)成功后,創(chuàng)建該framework層和該supplicant中間件層的通信連接。
該方法中,若讀取到該supplicant中間件層的啟動(dòng)狀態(tài)為已啟動(dòng),則可確定該supplicant中間件層啟動(dòng)成功,即可返回啟動(dòng)成功信息,繼而可創(chuàng)建該framework層和該supplicant中間件層的通信連接。
該方法,可通過(guò)在framework層啟動(dòng)周期讀取wifi驅(qū)動(dòng)的加載狀態(tài),以及時(shí)獲取wifi驅(qū)動(dòng)的加載狀態(tài),并且若該wifi驅(qū)動(dòng)加載成功,可及時(shí)則讀取該supplicant中間件層的啟動(dòng)狀態(tài),以在該supplicant中間件層啟動(dòng)成功后,盡可能早地創(chuàng)建該framework層和該supplicant中間件層的通信連接,繼而有效縮短android系統(tǒng)開(kāi)機(jī)后的wifi回連的時(shí)間,提高了wifi連接速度,提高終端設(shè)備可使用網(wǎng)絡(luò)的速度。
可選的,在如上s102中創(chuàng)建該framework層與該supplicant中間件層的通信連接之后,該方法還可包括如下至少一種操作:設(shè)置wifi連接對(duì)應(yīng)的頻寬、使得該framework層向該supplicant中間件層下發(fā)配置更新信息、下載(load)并使能所有已配置的接入點(diǎn)對(duì)應(yīng)的wifi網(wǎng)絡(luò)、初始化wifi保護(hù)設(shè)置(wi-fiprotectedsetup)信息、使能點(diǎn)到點(diǎn)(pointtopoint,簡(jiǎn)稱p2p)通信等。
可選的,在啟動(dòng)supplicant中間件層之前,該方法可設(shè)置去使能的ip地址,其中,該去使能的ip地址例如可包括:去使能的第四代互聯(lián)網(wǎng)協(xié)議(internetprotocolversion4,簡(jiǎn)稱ipv4)地址,和/或,去使能的第六代互聯(lián)網(wǎng)協(xié)議(internetprotocolversion6,簡(jiǎn)稱ipv6)地址。
在該方法中,在接收到用戶輸入的wlan關(guān)閉或開(kāi)啟指令后,可關(guān)閉wlan界面(downwlaninterface),刪除wlan界面(clearwalninterface)的ip信息,清除supplicant(killsupplicant)中間層。接收到用戶輸入的wlan關(guān)閉或開(kāi)啟指令的情況下,開(kāi)機(jī)標(biāo)志位為機(jī)過(guò)程已完成對(duì)應(yīng)的指示值。
具體地,該方法中,可運(yùn)行用于清空wlan信息的指令,以關(guān)閉wlan界面,刪除wlan界面的ip信息;運(yùn)行用于清除該supplicant中間件層的指令以清除supplicant中間層。
可選的,本發(fā)明實(shí)施例還可提供一種wlan連接方法。圖4為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法的流程圖四。該圖4可以為實(shí)例對(duì)上述圖1-圖3中任一所示的方法進(jìn)行舉例說(shuō)明。如圖4所示,
s401、啟動(dòng)bootloader程序。
s402、啟動(dòng)android系統(tǒng)的kernel程序。
s403、啟動(dòng)init進(jìn)程。
s404、在init進(jìn)程啟動(dòng)后,讀取預(yù)設(shè)位置是否存儲(chǔ)開(kāi)機(jī)標(biāo)識(shí)信息,該開(kāi)機(jī)標(biāo)識(shí)信息用于表征當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài)。
s405、若是,則開(kāi)始加載wifi驅(qū)動(dòng)。
s406、若wifi驅(qū)動(dòng)加載成功,則在刪除用于清空wlan信息以及清除該supplicant中間件層的指令后,啟動(dòng)supplicant中間件層。
s407、supplicant中間件層啟動(dòng)后,對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn),該目標(biāo)接入點(diǎn)可以為最后一次成功連接的接入點(diǎn)。
s408、建立該上層應(yīng)用與該目標(biāo)接入點(diǎn)間的網(wǎng)絡(luò)通路。
s409、在init進(jìn)程啟動(dòng)后,啟動(dòng)zygote進(jìn)程。
需要說(shuō)明的是,上述s404可以與s409不存在絕對(duì)的時(shí)間關(guān)系,可同時(shí)執(zhí)行,也可先后執(zhí)行,本發(fā)明不對(duì)此進(jìn)行限制。
s410、啟動(dòng)systemservice進(jìn)程。
s411、啟動(dòng)systemservice進(jìn)程后,刪除用于卸載該wifi驅(qū)動(dòng)的指令,并啟動(dòng)wifiservice進(jìn)程。
s412、設(shè)置wifi使能,使得wifi開(kāi)關(guān)為開(kāi)啟狀態(tài)。
s413、在檢測(cè)到framework層啟動(dòng)后,周期性的讀取該wifi驅(qū)動(dòng)的加載狀態(tài)。
s414、若該wifi驅(qū)動(dòng)加載成功,則讀取該supplicant中間件層的啟動(dòng)狀態(tài)。
s415、在該supplicant中間件層啟動(dòng)成功后,創(chuàng)建該framework層和該supplicant中間件層的通信連接,同時(shí)啟動(dòng)線程。
s416、通過(guò)該啟動(dòng)的線程獲取wifi連接狀態(tài)。
s417、若該wifi連接狀態(tài)為已連接狀態(tài),則采用dhcp通過(guò)該通信連接從該supplicant中間件層獲取該目標(biāo)接入點(diǎn)的ip地址信息,并根據(jù)該ip地址信息設(shè)置路由表。
s418、通知上層應(yīng)用wifi連接成功。
s419、若該wifi連接狀態(tài)為未連接狀態(tài),則根據(jù)預(yù)設(shè)獲取周期獲取該wifi連接狀態(tài),并等待接收用戶輸入的連接請(qǐng)求,用以根據(jù)該連接請(qǐng)求進(jìn)行wifi連接。
本發(fā)明實(shí)施例提供的方法,可在init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn),待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建framework層與該supplicant中間件層的通信連接,以創(chuàng)建路由使得該上層應(yīng)用與該目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。該方法中可在init進(jìn)程啟動(dòng)后,便通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層確定用于wifi回連的目標(biāo)接入點(diǎn),而無(wú)需等到該framework層啟動(dòng)后再確定目標(biāo)接入點(diǎn),有效縮短了android系統(tǒng)開(kāi)機(jī)后的wifi回連的時(shí)間,提高了wifi連接速度,提高終端設(shè)備可使用網(wǎng)絡(luò)的速度。
本發(fā)明實(shí)施例還提供一種android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置。圖5為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置的結(jié)構(gòu)示意圖一。如圖5所示,該android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置,可包括:
加載啟動(dòng)模塊501,用于當(dāng)init進(jìn)程啟動(dòng)后,通過(guò)加載wifi驅(qū)動(dòng)以及啟動(dòng)supplicant中間件層完成對(duì)上層應(yīng)用歷史配對(duì)信息中存儲(chǔ)的wifi熱點(diǎn)進(jìn)行掃描,確定目標(biāo)接入點(diǎn)。
創(chuàng)建模塊502,用于待系統(tǒng)framework層啟動(dòng)后,創(chuàng)建該framework層與該supplicant中間件層的通信連接,以創(chuàng)建路由使得該上層應(yīng)用與該目標(biāo)接入點(diǎn)的網(wǎng)絡(luò)通路可正常通信。
在上述圖5所示的裝置的基礎(chǔ)上,本發(fā)明實(shí)施例還提供一種android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置。圖6為本發(fā)明實(shí)施例提供的android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置的結(jié)構(gòu)示意圖二。如圖6所示,該android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置,還可包括:
讀取模塊503,用于當(dāng)該init進(jìn)程啟動(dòng)之后,讀取預(yù)設(shè)位置是否存儲(chǔ)開(kāi)機(jī)標(biāo)識(shí)信息,該開(kāi)機(jī)標(biāo)識(shí)信息用于表征當(dāng)前系統(tǒng)處于開(kāi)機(jī)狀態(tài)。
加載啟動(dòng)模塊501,具體用于若該預(yù)設(shè)位置存儲(chǔ)所述開(kāi)機(jī)標(biāo)識(shí)信息,則開(kāi)始加載該wifi驅(qū)動(dòng)以及啟動(dòng)該supplicant中間件層。
可選的,該android系統(tǒng)開(kāi)機(jī)后wifi回連的裝置,還可包括:
刪除模塊504,用于在創(chuàng)建模塊502創(chuàng)建該framework層與該supplicant中間件層的通信連接之前,若檢測(cè)到systemserver進(jìn)程啟動(dòng)后,刪除用于卸載該wifi驅(qū)動(dòng)的指令。
可選的,讀取模塊503,還用于在檢測(cè)到該framework層啟動(dòng)后,周期性的讀取該wifi驅(qū)動(dòng)的加載狀態(tài);若該wifi驅(qū)動(dòng)加載成功,則讀取該supplicant中間件層的啟動(dòng)狀態(tài)。
創(chuàng)建模塊502,具體用于在該supplicant中間件層啟動(dòng)成功后,創(chuàng)建該framework層和該supplicant中間件層的通信連接。
可選的,刪除模塊504,還用于若該wifi驅(qū)動(dòng)加載成功,則刪除用于清空wlan信息以及清除該supplicant中間件層的運(yùn)行指令。
加載啟動(dòng)模塊501,具體用于在刪除用于清空該wlan信息以及清除該supplicant中間件層的指令后,啟動(dòng)該supplicant中間件層。
本發(fā)明實(shí)施例提供的wlan連接裝置,可執(zhí)行上述圖1至圖4中任一所示的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法,其具體的實(shí)現(xiàn)過(guò)程及有益效果參見(jiàn)上述,在此不再贅述。
本發(fā)明實(shí)施例還提供一種終端設(shè)備。圖7為本發(fā)明實(shí)施例提供的終端設(shè)備的結(jié)構(gòu)示意圖。如圖7所示,該終端設(shè)備700,可包括:存儲(chǔ)器701和處理器702;存儲(chǔ)器701與處理器702連接。
存儲(chǔ)器701,用于存儲(chǔ)程序指令。
處理器702,用于調(diào)用存儲(chǔ)器701中存儲(chǔ)的該程序指令,使得處理器702執(zhí)行上述圖1至圖4中任一所述的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法。
本發(fā)明實(shí)施例提供的終端設(shè)備,可執(zhí)行上述圖1至圖4中任一所示的android系統(tǒng)開(kāi)機(jī)后wifi回連的方法,其具體的實(shí)現(xiàn)過(guò)程及有益效果參見(jiàn)上述,在此不再贅述。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。