【发布时间】:2013-01-10 22:25:49
【问题描述】:
我正在尝试在我正在开发的新 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 的连接?
【问题讨论】:
-
可能是某种对 google.com 的 ping 操作?
-
谢谢!我实际上不得不求助于这种方法来确定与网络的完全连接。
标签: java android wifimanager