<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種電子設備及其WIFI智能切換方法與流程

文檔序號:12501488閱讀:497來源:國知局
一種電子設備及其WIFI智能切換方法與流程

本發明涉及WIFI技術領域,特別涉及一種電子設備及其WIFI智能切換方法。



背景技術:

目前,室內外可用WIFI越來越多。用戶在某個地點的附近,電子設備能使用多個WIFI,隨著位置的改變,原本信號很強的WIFI信號可能變弱,原本信號較弱的WIFI信號可能變強了。在使用電子設備時,用戶不容易察覺到WIFI信號的強弱變換,也較少會主動切換WIFI。

除了WIFI信號的強弱,WIFI信號的速率就更不容易讓人覺察。如在某地連上一WIFI并下載文件,下載完之后要趕去另一個地方,可下載速率卻很慢,用戶只能無聊而焦急的等待著。而另一個未連接的WIFI可能下載的速度更快。

隨著對電子設備的智能性要求越來越高,WIFI的智能切換技術也需要提高。而目前只能用戶選擇WIFI進行連接,還不能根據使用需求智能切換WIFI。

因而現有技術還有待改進和提高。



技術實現要素:

鑒于上述現有技術的不足之處,本發明的目的在于提供一種電子設備及其WIFI智能切換方法,以解決現有電子設備不能根據使用需求智能切換WIFI的問題。

為了達到上述目的,本發明采取了以下技術方案:

一種電子設備的WIFI智能切換方法,其包括:

步驟A、啟動WIFI智能切換模式時,監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件;

步驟B、當達到強弱觸發條件時,查找信號最優的WIFI進行切換;

步驟C、當達到下載觸發條件時,查找信號最優的WIFI并提示下載速率,根據用戶操作選擇切換。

所述的電子設備的WIFI智能切換方法中,在所述步驟A之前,還包括:

開啟WIFI并已成功連接上一WIFI,提示用戶是否啟動WIFI智能切換模式。

所述的電子設備的WIFI智能切換方法中,所述強弱觸發條件為:當前的WIFI信號的強度低于第一期望值,或WIFI信號的下載速率低于第二期望值但沒有進行下載。

所述的電子設備的WIFI智能切換方法中,所述步驟B具體包括:

步驟B1、判斷是否獲取了滿足智能切換的WIFI信號,是則執行步驟B2;否則不做處理,結束本次流程;

步驟B2、將滿足智能切換的WIFI信號進行對比,查找出最優的WIFI;

步驟B3、將當前的WIFI切換為最優的WIFI,并在切換完成后進行提示。

所述的電子設備的WIFI智能切換方法中,所述步驟B1中,滿足智能切換的WIFI信號的判斷方法具體包括:

步驟B11、判斷是否為已經連接過的WIFI且進行了保存;

步驟B12、判斷新的WIFI信號與當前連接的WIFI信號的強度相比,是否達到或大于強度設定值;

步驟B13、判斷新的WIFI信號與當前連接的WIFI信號的下載速率相比,是否達到或大于速率設定值。

所述的電子設備的WIFI智能切換方法中,所述下載觸發條件為:當前的WIFI信號的下載速率持續低于第三期望值、速率波動范圍小于第四期望值且持續時間超過時間閾值。

所述的電子設備的WIFI智能切換方法中,所述步驟C具體包括:

步驟C1、判斷是否獲取了滿足智能切換的WIFI信號,是則執行步驟C2;否則不做處理,結束本次流程;

步驟C2、將滿足智能切換的WIFI信號進行對比,查找出最優的WIFI;

步驟C3、判斷最優的WIFI是否是用戶取消的WIFI:若是,則不做處理,結束本次流程;否則執行步驟C4;

步驟C4、提示可切換的WIFI及其強度、速率信息,并檢測用戶是否選擇切換:若切換則執行步驟B3,否則執行步驟C5;

步驟C5、記錄當前連接的WIFI的MAC地址和最優的WIFI的MAC地址。

一種實現所述的WIFI智能切換方法的電子設備,其包括監控觸發模塊、強弱切換模塊和下載切換模塊;

所述監控觸發模塊用于啟動WIFI智能切換模式時,監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件;

當達到強弱觸發條件時,強弱切換模塊查找信號最優的WIFI進行切換;

當達到下載觸發條件時,下載切換模塊查找信號最優的WIFI并提示下載速率,根據用戶操作選擇切換。。

所述的電子設備中,還包括提示模塊,用于開啟WIFI并已成功連接上一WIFI時,提示用戶是否啟動WIFI智能切換模式。

所述的電子設備中,還包括設置模塊,用于提供設置界面供用戶對期望值、強度設定值、強度閾值、速率設定值d、速率閾值進行設置和保存。

相較于現有技術,本發明提供的電子設備及其WIFI智能切換方法,啟動WIFI智能切換模式時,監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件;當達到強弱觸發條件時,查找信號最優的WIFI進行切換;當達到下載觸發條件時,查找信號最優的WIFI并提示下載速率,根據用戶操作選擇切換。能根據強弱觸發條件和下載觸發條件分別進行對應的WIFI切換,針對用戶的WIFI使用環境提供更加靈活智能的WIFI切換方式,大大方便了用戶對WIFI信號的切換需求,解決了現有電子設備不能根據使用需求智能切換WIFI的問題。

附圖說明

圖1為本發明提供的電子設備的WIFI智能切換方法流程圖。

圖2為本發明提供的電子設備的WIFI智能切換方法的應用實施例流程圖。

圖3為本發明提供的電子設備的WIFI智能切換的電子設備的結構框圖。

具體實施方式

本發明提供一種電子設備及其WIFI智能切換方法,根據WIFI信號的強弱及速率,智能地切換WIFI網絡。為使本發明的目的、技術方案及效果更加清楚、明確,以下參照附圖并舉實施例對本發明進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。

請同時參閱圖1和圖2,本發明提供的電子設備的WIFI智能切換方法包括:

S100、啟動WIFI智能切換模式時,監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件;

S200、當到達強弱觸發條件時,查找信號最優的WIFI進行切換;

S300、當達到下載觸發條件時,查找信號最優的WIFI并提示下載速率,根據用戶操作選擇切換。

本實施例能智能地查找及監控WIFI網絡的信號強度及下載速率,智能的切換WIFI或者告知用戶,讓用戶決定是否切換WIFI。在啟動WIFI智能切換模式之前,需先開啟WIFI并已成功連接上一WIFI(如圖2中的步驟S10)。判斷WIFI是否開啟的方法為:

public boolean isWIFIEnabled() {

return getWIFIState() == WIFI_STATE_ENABLED;

}

返回true表示開啟了WIFI,返回false表示未開啟WIFI。

用戶開啟WIFI后會自動顯示周圍的所有WIFI信號,若要獲取已經保存的WIFI的信息,可通過WIFI管理類,比如WIFIManager,獲取方法如下:

WIFIManager WIFIManager =(WIFIManager)this.getSystemService(Context.WIFI_SERVICE)。

判斷WIFI是否連接上的方法為:

獲取連接管理類

ConnectivityManager connectivityManager =

(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

通過連接管理類獲取網絡信息

NetworkInfo WIFINetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

WIFINetworkInfo.isConnected()

返回true表示連接上了,false表示未連接上。

之后可彈出一對話框提示用戶是否啟動WIFI智能切換模式。若用戶啟動WIFI智能切換模式,則進入步驟S100~S300;否則默認當前的WIFI連接。基于用戶有時無需頻繁切換WIFI(如在辦公室或家里WIFI信號固定),有時需要智能切換WIFI(如有多個之前連接過的WIFI或免費WIFI)。在WIFI連接的選項中增加WIFI智能切換模式的開閉選擇項。當后續用戶有需要時可自主選擇是否啟動WIFI智能切換模式。這樣根據用戶的使用環境,才能更加靈活地進行WIFI的切換使用。

在所述步驟S100中,當啟動WIFI智能切換模式時,需實時監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件(如圖2中所示的步驟S110~S130)。所述WIFI狀態包括WIFI信號的強度和下載速率。觸發條件包括強弱觸發條件和下載觸發條件。

獲取當前連接的WIFI信息的方法為:

public WIFIInfo getConnectionInfo(){

}

該方法返回一個WIFIInfo對象,該對象包含了當前連接的WIFI的信息。

如果WIFIInfo.getMacAddress()) == null,則表示沒有WIFI連接。

其他一些獲取WIFI信息的方法:

WIFIinfo.getBSSID();

WIFIinfo.getSSID();

WIFIinfo.getIpAddress();獲取IP地址

WIFIinfo.getMacAddress();獲取MAC地址

WIFIinfo.getNetworkId();獲取網絡ID

WIFIinfo.getLinkSpeed();獲取連接速度,可以讓用戶獲知這一信息

WIFIinfo. getRssi(); 獲取RSSI度量的信號強弱

獲取當前數據傳輸的信息(包括速率)的方法如下:

通過數據的管理,如TrafficStats,可以使用其提供的方法getTotalRxBytes和getTotalTxBytes。

public static long getTotalRxBytes() //Return number of bytes received since device boot

public static long getTotalTxBytes() //Return number of bytes transmitted since device boot

getTotalRxBytes用于獲取接收的數據,getTotalTxBytes獲取發送的數據。

當前電子設備的數據傳輸速率,就大概可以通過上述方法獲取,比如對于發送速率,先通過getTotalTxBytes獲取到一個值,500ms后在通過getTotalTxBytes獲取到一個值,兩個值相減取絕對值再除以0.5就可以知道該電子設備當前的發送速率,單位是字節/秒。

本實施例中,強弱觸發條件即當前的WIFI信號的強度低于第一期望值A,或WIFI信號的下載速率低于第二期望值B但沒有進行下載(如網頁瀏覽的情況)。當到達強弱觸發條件時,查找信號最優的WIFI進行切換;則所述步驟S200具體包括:

步驟S210、判斷是否獲取了滿足智能切換的WIFI信號,是則執行步驟S220;否則不做處理,結束本次流程。之后返回步驟S100。

本步驟中,滿足智能切換的WIFI信號的判斷方法具體包括:

1、判斷是否為已經連接過的WIFI且進行了保存。WIFI信號若未連接過(私人WIFI)則需要輸入密碼,則系統可能會一直嘗試去連接信號強但無法使用的WIFI。只有之前已經保持過的才能直接連接上。獲取電子設備已經保存的WIFI信息,可通過WIFIManager.getConfiguredNetworks,就可以獲取到保存的WIFI列表List<WIFIConfiguration>。WIFIConfiguration對象里包括了各種WIFI的屬性,比如Network Id,SSID(Service Set Identifier),Status(狀態)等。

2、判斷新的WIFI信號與當前連接的WIFI信號的強度相比,是否達到或大于強度設定值strength;或者新的WIFI信號比當前連接的WIFI信號的強度大于強度閾值。只有新的WIFI信號的強度達到或超過該強度設定值strength,才說明其信號較強可以切換。或者新的WIFI信號比前連接的WIFI信號強,才有切換的意義。

獲取掃描到的WIFI信號源,通過WIFIManager.getScanResults可獲取到電子設備掃描到的WIF,返回List<ScanResult> 。ScanResult中包括WIF的相關信息,如SSID(Service Set Identifier),Level(信號強弱)等信息。

3、在第2條的基礎上,判斷新的WIFI信號與當前連接的WIFI信號的下載速率相比,是否達到或大于速率設定值speed;或者新的WIFI信號比當前連接的WIFI信號的下載速率大于速率閾值。滿足該條件才有切換的意義。

以上3條都滿足的新的WIFI才屬于可以智能切換的WIFI信號,有這樣的新的WIFI,即表示可以獲取到滿足智能切換的WIFI信號,才能執行后續步驟進行切換。若不滿足條件則說明當前連接的WIFI信號是最佳的,無需切換,可以結束本次流程,返回步驟S100繼續監控。

步驟S220、將滿足智能切換的WIFI信號進行對比,查找出最優的WIFI。

基于滿足上述3個條件的新的WIFI可能有多個,此處需執行本步驟來找出最優的WIFI信號。若僅有一個則無需對比。本步驟進行對比時,先找出下載速率最高的WIFI信號,若仍有若干個,可繼續檢測WIFI信號的強度是否達到穩定值S以上。兩者都滿足的即為最優的WIFI。

通過上述步驟可獲取到WIFI信號的強弱信息,但是兩個WIFI信號進行對比時,先做一些數據處理,將level通過特定公式換算成RSSI度量的數值,然后再進行對比。

WIFIManager定義了對比的方法,如下:

public static int compareSignalLevel(int rssiA, int rssiB) {

return rssiA - rssiB;

}

從上面的方法中可以看到傳入的參數類型及對比的方法。

步驟230、將當前的WIFI切換為最優的WIFI,并在切換完成后進行提示。之后結束本次流程,返回步驟S100繼續監控。

切換為最優的WIFI即連接最優的WIFI。連接WIFI的方法中,WIFIManager提供了connect方法,如下:

public void connect(WIFIConfiguration config, ActionListener listener)

在調用該方法時要傳入一個監聽,當連接上或有其他連接事件時通過這個監聽通知到上層。

如果電子設備沒有處于大流量情況,則本步驟在后臺自動切換,切換完成后彈出Toast(類似提示框之類的提示信息)告知用戶。如果電子設備處于大流量情況下則數據傳輸很多,如觀看視頻、下載文件或視頻等。本步驟可先彈框提示用戶,讓用戶決定是否切換WIFI網絡,切換則在后臺自動切換為最優的WIFI,之后不再提示用戶。

本實施例中,下載觸發條件即當前的WIFI信號的下載速率持續低于第三期望值C、速率波動范圍小于第四期望值D且持續時間超過時間閾值T。本實施例中可以是的下載速率低于第三期望值C的持續時間或速率波動范圍小于第四期望值D的持續時間任一種超過時間閾值T,或兩者的持續時間均超過時間閾值T這三種情況,均可以作為下載觸發條件。下載觸發條件對應的是電子設備處于文件持續下載中,且速率沒有達到期望下載速率時的情況。具體實施時可設置第三期望值C為50 kb/秒,第四期望值D為10 kb/秒,時間閾值T為15秒。若下載速率穩定在35-40 kb/秒且持續了15秒,即達到了WIFI智能切換的下載觸發條件。若期望每次下載時,后臺服務能搜索到目前最快的WIFI,可以將第三期望值C設置的高一些。

則所述步驟S300具體包括:

步驟S310、判斷是否獲取了滿足智能切換的WIFI信號,是則執行步驟S320;否則不做處理,結束本次流程,返回步驟S100。本步驟的詳細內容與上述步驟S210相同,此處不作贅述。

步驟S320、將滿足智能切換的WIFI信號進行對比,查找出最優的WIFI。本步驟的詳細內容與上述步驟S320相同,此處不作贅述。

步驟S330、判斷最優的WIFI是否是用戶取消的WIFI:若是,則不做處理,結束本次流程,返回步驟S100;否則執行步驟S340。

若最優的WIFI是用戶之前已經取消過的WIFI,則說明用戶不想連接該WIFI(有的WIFI存在安全隱患或其他問題被用戶取消過),則對當前的WIFI不做切換。若不是,可執行步驟S340。

步驟S340、提示可切換的WIFI及其強度、速率信息,并檢測用戶是否選擇切換:若切換則執行步驟230,否則執行步驟S350。

本步驟是屬于正在下載的情況,用戶可能期望切換,也可能嫌麻煩不切換。因此可先彈出提示框告知用戶發現更優的WIFI,并附帶該WIFI的名稱、信號強弱和速率等信息,讓用戶選擇是否切換。此處切換時可按照步驟230進行切換。

S350、記錄當前連接的WIFI的MAC地址和最優的WIFI的MAC地址。之后不做處理,結束本次流程。

記錄兩者的MAC地址以方便后續將滿足智能切換的WIFI信號進行對比時使用。可減少MAC地址的重復獲取。

需要理解的是,一旦開啟連接WIFI并啟動WIFI智能切換模式后,后臺系統會一直運行、監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件。每次結束本次流程后,都返回步驟S100繼續監控并判斷。只有當關閉WIFI、或者沒有連接WIFI、或者退出WIFI智能切換模式時,才完全關閉上述的監控和判斷狀態,并關閉對應的后臺服務。上述實施例提及的期望值(A、B、C、D)、強度設定值strength、強度閾值、速率設定值speed、速率閾值等值可由電子設備出廠前的默認值,也可提供設置界面供用戶進行設置和保存,使WIFI智能切換更能滿足用戶的個性化要求。后臺服務會根據這些值決定各種情況的臨界值及要求值。

基于上述的電子設備的WIFI智能切換方法,本發明實施例還提供一種WIFI智能切換方法的電子設備,請參閱圖3、所述電子設備包括監控觸發模塊10、強弱切換模塊20和下載切換模塊30;所述監控觸發模塊10用于啟動WIFI智能切換模式時,監控當前的WIFI狀態并判斷是否達到智能切換的觸發條件。當達到強弱觸發條件時,強弱切換模塊20查找信號最優的WIFI進行切換。當達到下載觸發條件時,下載切換模塊30查找信號最優的WIFI并提示下載速率,根據用戶操作選擇切換。

進一步實施例中,所述電子設備還包括提示模塊40,用于開啟WIFI并已成功連接上一WIFI時,提示用戶是否啟動WIFI智能切換模式。提示模塊40還用于實現上述的所有彈框提示。

進一步實施例中,所述電子設備還包括設置模塊50,用于提供設置界面供用戶對期望值(A、B、C、D)、強度設定值strength、強度閾值、速率設定值speed、速率閾值等值進行設置和保存。

綜上所述,本發明根據強弱觸發條件和下載觸發條件分別進行對應的WIFI切換,針對用戶的WIFI使用環境提供更加靈活智能的WIFI切換方式,在下載時根據用戶意愿進行切換,避免影響當前的下載;大大方便了用戶對WIFI信號的切換需求,解決了現有電子設備不能根據使用需求智能切換WIFI的問題。

上述功能模塊的劃分僅用以舉例說明,在實際應用中,可以根據需要將上述功能分配由不同的功能模塊來完成,即劃分成不同的功能模塊,來完成上述描述的全部或部分功能。

本領域普通技術人員可以理解上述實施例方法中的全部或部分流程,是可以通過計算機(電子設備)程序來指令相關的硬件完成,所述的計算機(電子設備)程序可存儲于一計算機(電子設備)可讀取存儲介質中,程序在執行時,可包括上述各方法的實施例的流程。其中的存儲介質可以為磁碟、光盤等。

可以理解的是,對本領域普通技術人員來說,可以根據本發明的技術方案及其發明構思加以等同替換或改變,而所有這些改變或替換都應屬于本發明所附的權利要求的保護范圍。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影