我試圖設置一個測試自動化上一個新的Android應用程序,我正在開發,但有一個麻煩與apis如何以編程方式確定android是否連接到wifi?
我面臨的問題是我想開始測試WiFi後有連接,而不是當它處於連接狀態。我已經嘗試了兩種解決方案,但沒有運氣和測試似乎
wifiManager.setWifiEnabled(state);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
while (wifiInfo.getSSID() == null) {
Log.i("WifiStatus", "Here I am");
Thread.sleep(Time.ONE_SECOND);
wifiInfo = wifiManager.getConnectionInfo();
這是我第一次執行試圖獲取SSID,以確定是否連接開始之前我的Android設備被完全連接(在無線條無X)已經建立。但是在全連接完成之前測試仍然開始,並且設置失敗。
ConnectivityManager connManager =
(ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
wifiManager.setWifiEnabled(state);
while (!networkInfo.isConnected()) {
Log.i("WifiStatus", "Here I am");
Thread.sleep(Time.ONE_SECOND);
networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
}
我使用的連接管理器,而不是使用isConnected()
第二種方案。
有沒有人有另一種方法,我可以檢查以確定設備是否已完全建立與WiFi的連接?
也許某種ping到google.com? – twoleggedhorse
謝謝!我實際上不得不求助於這種方法來確定與網絡的完整連接。 – kptkev