iFi密碼,服務(wù)器通過密文形式發(fā)送給WiFi使用者WiFi密碼,WifiSettings中的OnPreferenceTreeClick會(huì)被調(diào)用,用戶配置好之后點(diǎn)擊連接按鈕,onClick函數(shù)會(huì)被調(diào)用。
[0040]進(jìn)一步,移動(dòng)終端WiFi連接流程具體包括:
[0041]第一步,連接請(qǐng)求
[0042]Settings的connect函數(shù)響應(yīng)連接,更新網(wǎng)絡(luò)保存配置,更新設(shè)置當(dāng)前選擇的優(yōu)先級(jí)最高,并保存,然后通過enableNetwork使得其他網(wǎng)絡(luò)不可用來進(jìn)行連接,最后調(diào)用WifiManager的reconnect函數(shù)連接當(dāng)前選擇的網(wǎng)絡(luò);
[0043]WifiManager 的 reconnect 函數(shù)通過 AIDL 的 Binder 機(jī)制,調(diào)用 WifiService 的reconnect 函數(shù);
[0044]然后會(huì)調(diào)用WifiStateTracker 的 reconnectCommand 函數(shù),通過 JNI (android_net_wif_ffifi)的 android_net_wifi_reconnectCommand 函數(shù)向 WPA_WPASUPPLICANT 發(fā)送RECONNECT 命令;
[0045]android_net_wifi_ffifi 通過 doCommand 調(diào)用 wifi, c 中的 wifi_command 函數(shù)來發(fā)送命令;
[0046]最后通過wpa_ctrl的wpa_ctrl_request函數(shù)向控制通道發(fā)送連接命令;
[0047]第二步,返回請(qǐng)求
[0048]當(dāng)連接上之后WPA_SUPPLICANT會(huì)向控制通道發(fā)送連接成功命令,wifi, c的wifi_wait_for_event函數(shù)阻塞調(diào)用并返回這個(gè)命令的字符串;
[0049]而后WifiMonitor會(huì)被執(zhí)行來處理這個(gè)事件,WifiMonitor再調(diào)用WifiStateTracker 的 notifyStateChange,WifiStateTracker 則接著會(huì)往自身發(fā)送 EVENT_DHCP_START消息來啟動(dòng)DHCP去獲取IP地址,然后廣播NETWORK_STATE_CHANGED_ACT1N消息,最后由WifiSettings類來響應(yīng),改變狀態(tài)和界面信息;
[0050]wpa_supplicant用來支持WEP,WPA/WPA2和WAPI無線協(xié)議和加密認(rèn)證的,而實(shí)際上的工作內(nèi)容是通過socket與驅(qū)動(dòng)交互上報(bào)數(shù)據(jù)給用戶,而用戶通過socket發(fā)送命令給wpa_supplicant調(diào)動(dòng)驅(qū)動(dòng)來對(duì)WiFi芯片操作。
[0051]本發(fā)明提供的WiFi共享系統(tǒng),基于用戶現(xiàn)有的AP資源,通過軟件方法實(shí)現(xiàn),不需額外購買任何固件或者附加設(shè)備,即可共享WIFI資源。
[0052]本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)勢(shì):
[0053]I)面對(duì)大幅增長(zhǎng)的數(shù)據(jù)流量,移動(dòng)蜂窩網(wǎng)不堪重負(fù),用戶體驗(yàn)差,而本發(fā)明將每一臺(tái)家庭的路由器或擁有無線網(wǎng)卡的電腦作為基站,提供WiFi信號(hào)給需要上網(wǎng)的會(huì)員,在不需要花費(fèi)昂貴的基站建設(shè)費(fèi)用的基礎(chǔ)上,有效緩解了蜂窩網(wǎng)的數(shù)據(jù)擁堵。
[0054]2)傳統(tǒng)的WiFi共享方式最常見的為向WiFi提供方問詢密碼之后手動(dòng)輸入密碼來接入網(wǎng)絡(luò),按本發(fā)明不需要詢問WiFi密碼即可接入網(wǎng)絡(luò)。
[0055]3)因?yàn)橐苿?dòng)終端與本發(fā)明AP距離更近,故WiFi共享系統(tǒng)能夠以免費(fèi)或遠(yuǎn)低于運(yùn)營(yíng)商的資費(fèi)提供了優(yōu)于運(yùn)營(yíng)商蜂窩網(wǎng)的服務(wù)。
[0056]4)通過實(shí)名認(rèn)證和諸多安全技術(shù)手段確保在陌生環(huán)境下安全連接WiFi,對(duì)于帶有木馬或病毒的WiFi過濾。
[0057]5)傳統(tǒng)的方式下WiFi提供者不一定愿意提供WiFi密碼給陌生人,本發(fā)明中WiFi提供者在為其他會(huì)員提供WiFi信號(hào)的同時(shí)實(shí)現(xiàn)盈利更愿意提供wiFi。
【附圖說明】
[0058]圖1是本發(fā)明實(shí)施例提供的實(shí)施例的方法流程圖;
[0059]圖2是本發(fā)明實(shí)施例提供的用戶注冊(cè)流程圖;
[0060]圖3是本發(fā)明實(shí)施例提供的WiFi掃描流程分析圖;
[0061]圖4是本發(fā)明實(shí)施例提供的WiFi連接流程分析圖;
[0062]圖5是本發(fā)明實(shí)施例提供的WiFi共享系統(tǒng)結(jié)構(gòu)示意圖;
[0063]圖中:1、客戶端界面模塊;2、服務(wù)器界面模塊;3、登錄認(rèn)證模塊;4、流量控制模塊;5、計(jì)費(fèi)充值模塊;6、數(shù)據(jù)庫模塊。
【具體實(shí)施方式】
[0064]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0065]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步描述。
[0066]如圖1所示,本發(fā)明實(shí)施例的WiFi共享方法具體包括:
[0067]WiFi共享系統(tǒng)給用戶提供一個(gè)安全的平臺(tái),用戶在本發(fā)明注冊(cè)后成為會(huì)員,會(huì)員之間可以實(shí)現(xiàn)WiFi的共享。
[0068]會(huì)員可供選擇身份有LWiFi提供者,2.WiFi使用者,3.WiFi提供者+WiFi使用者。WiFi提供者注冊(cè)階段需要打開自己的AP,安裝的系統(tǒng)軟件會(huì)自動(dòng)掃描設(shè)備的相關(guān)信息,包括AP的MAC地址,WiFi密碼,廣域網(wǎng)地址和遠(yuǎn)程配置端口號(hào),將信息提交給服務(wù)器,等待WiFi使用者接入。WiFi使用者的移動(dòng)終端搜索到“iflying”字樣的WiFi并點(diǎn)擊確定后,會(huì)向系統(tǒng)服務(wù)器發(fā)送所連接路由器的Mac地址和廣域網(wǎng)地址等信息,系統(tǒng)服務(wù)器通過路由器Mac地址查詢數(shù)據(jù)庫獲得WiFi提供者在注冊(cè)階段提交到數(shù)據(jù)庫的WiFi密碼。服務(wù)器通過密文形式發(fā)送給WiFi使用者WiFi密碼,WiFi使用者接入互聯(lián)網(wǎng)。
[0069]系統(tǒng)從用戶接入互聯(lián)網(wǎng)的時(shí)刻開始統(tǒng)計(jì)WiFi使用者使用流量,結(jié)束使用后給服務(wù)器發(fā)送結(jié)束使用請(qǐng)求,完成操作。
[0070]如圖2所示,本發(fā)明實(shí)施例的用戶注冊(cè)流程圖;
[0071]I)注冊(cè)過程:
[0072]一個(gè)新用戶要加入聯(lián)盟,首先要通過手機(jī)號(hào)碼或郵箱注冊(cè)成為系統(tǒng)會(huì)員,可供選擇身份有1.WiFi提供者,2.WiFi使用者,3.WiFi提供者+WiFi使用者。
[0073]當(dāng)選擇身份為WiFi提供者時(shí),需要打開自己的AP,本發(fā)明會(huì)自動(dòng)掃描設(shè)備的相關(guān)信息,包括AP的MAC地址,WiFi密碼,廣域網(wǎng)地址和遠(yuǎn)程配置端口號(hào),將信息提交給服務(wù)器。其他注冊(cè)內(nèi)容包括手機(jī)號(hào)碼,綁定銀行卡號(hào)或支付寶賬號(hào)。
[0074]當(dāng)選擇身份為WiFi使用者時(shí),需要為賬戶充值,注冊(cè)內(nèi)容包括手機(jī)號(hào)碼,綁定銀行卡號(hào)或支付寶賬號(hào)。
[0075]當(dāng)選擇身份為WiFi提供者+WiFi使用者時(shí),需要打開自己的AP,本發(fā)明會(huì)自動(dòng)掃描設(shè)備的相關(guān)信息,包括AP的MAC地址,WiFi密碼,廣域網(wǎng)地址和遠(yuǎn)程配置端口號(hào),將信息提交給服務(wù)器。其他注冊(cè)內(nèi)容包括手機(jī)號(hào)碼,綁定銀行卡號(hào)或支付寶賬號(hào)。
[0076]2)搜索過程:
[0077]WiFi提供者開啟AP,并統(tǒng)一命名為“ifiying”,WiFi使用者的移動(dòng)終端搜索“ifiying”字樣的WiFi并點(diǎn)擊確定。
[0078]3)使用過程:
[0079]WiFi使用者的移動(dòng)終端搜索到“ifiying”字樣的WiFi并點(diǎn)擊確定后,會(huì)向系統(tǒng)服務(wù)器發(fā)送所連接路由器的Mac地址和廣域網(wǎng)地址等信息,系統(tǒng)服務(wù)器通過路由器Mac地址查詢數(shù)據(jù)庫獲得WiFi提供者在注冊(cè)階段提交到數(shù)據(jù)庫的WiFi密碼。服務(wù)器通過密文形式發(fā)送給WiFi使用者WiFi密碼,WiFi使用者接入互聯(lián)網(wǎng)。從用戶接入互聯(lián)網(wǎng)的時(shí)刻開始統(tǒng)計(jì)WiFi使用者使用流量,結(jié)束使用后給服務(wù)器發(fā)送結(jié)束使用請(qǐng)求,WiFi使用者移動(dòng)客戶端顯示使用過程中產(chǎn)生的流量及其對(duì)應(yīng)金額(WiFi流量可以從系統(tǒng)屬性中獲取移動(dòng)終端設(shè)備的wifi interface名稱,從系統(tǒng)文件讀取該接口的數(shù)據(jù)流量),WiFi提供者客戶端也顯示提供WiFi過程中產(chǎn)生的流量及其對(duì)應(yīng)金額。
[0080]4)后續(xù)過程:
[0081]WiFi提供者可選擇對(duì)獲得金額進(jìn)行提現(xiàn),WiFi使用者查詢賬戶余額。
[0082]如圖3所示,本發(fā)明實(shí)施例的WiFi掃描流程圖,具體包括:
[0083]I)啟動(dòng)Wifi服務(wù)
[0084]1.在 SystemServer 啟動(dòng)的時(shí)候,會(huì)生成一個(gè) ConnectivityService 的實(shí)例。
[0085]2.ConnectivityService類中 private ConnectivityService (Context context)構(gòu)造函數(shù)創(chuàng)建 WifiService 和 WifiStateTracker 對(duì)象。
[0086]3.創(chuàng)建WifiStateTracker和WifiService對(duì)象用來啟動(dòng)wifi管理服務(wù)WifiStateTracker會(huì)創(chuàng)建WifiMonitor用來接收來自底層的事件,WifiService和WifiMonitor是整個(gè)模塊的核心。
[0087]4.WifiService負(fù)責(zé)啟動(dòng)關(guān)閉wpasupplicant、啟動(dòng)關(guān)閉WifiMonitor監(jiān)視線程和把命令下發(fā)給wpa—suppI icant。
[0088]5.WifiMonitor開始運(yùn)行線程,會(huì)請(qǐng)求連接wpa—supplicant...