我正在尝试为我正在开发的新Android应用程序设置自动化测试,但是在其中一个API上遇到了一些麻烦。
我面临的问题是我希望在wifi连接后再启动测试,而不是在连接状态下。我尝试了两种解决方案,但都没有成功,在我的Android设备完全连接之前测试似乎已经开始了(wifi信号上没有x)。
我正在使用连接管理器和
我面临的问题是我希望在wifi连接后再启动测试,而不是在连接状态下。我尝试了两种解决方案,但都没有成功,在我的Android设备完全连接之前测试似乎已经开始了(wifi信号上没有x)。
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来确定是否已建立连接。但是测试在完全建立连接之前就开始了,从而导致设置失败。
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建立连接?