我试图设置一个测试自动化上一个新的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