我正在維護一個與wifi網絡相關的小應用程序。它測試手機連接到wifi網絡時的互聯網連接。Wifi漫遊連接順序
在運行Android 2.2.2的HTC Desire與覆蓋面略有重疊的地方測試並使用該應用程序時,從WiFi A移動到B時的斷開連接順序似乎爲:從無線網絡
- 斷開A
- 連接到WiFi網絡乙
現在用一個Fairphone運行4.2.2,該序列似乎是:
- 連接到WiFi乙
- 從無線網絡斷開A
這是否意味着不同的是HTC Desire的,在Fairphone做某種漫遊,並第一次連接到其信號變得比一個更強大的WiFi當前的wifi連接,然後丟棄「舊」的wifi連接?
我問這個問題,因爲如果我的觀察是正確的,這對應用程序的行爲的一些含義,即它不應該考慮過去的WiFi連接事件,而是檢查WiFi連接的實際狀態,不管最後的事件是「連接」或「斷開」。
根據您的觀察,我認爲您應該在代碼中進行更改。一些瘋狂的設備甚至可能擁有不止一個WiFi適配器,並且您的代碼將爲其準備。 – Merlevede
我已經看到很多不同的Android手機的wifi行爲。不同的品牌,不同的Android版本,不同的wifi芯片。這些之間有很多不同之處。因此,雖然特定手機的wifi行爲是可預測的,但手機之間並非如此。如果你的應用取決於特定的wifi行爲,我建議你用你的應用測試足夠數量的手機。 – Christine
謝謝。正如Merlevede所建議的那樣,我已經改變了我的代碼,所以它的行爲取決於WiFi連接的實際狀態,而不是最新的wifi事件報告的狀態,所以無論設備的任何特定行爲如何,它都可以工作,並且我的應用的行爲可以被覆蓋通過單元測試:-) –