我正在尝试在我正在开发的一个新的 android 应用程序上设置自动化测试,但其中一个 api 有点麻烦
我面临的问题是我想在 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 的连接?