我不确定这是否是Galaxy Tab特定问题,或者我没有使用WifiManager库的某些相关方法,但是我的应用程序正确地报告Wifi在启动时被禁用,但是一旦我启用它,它认为自己已启用,即使它仍处于连接过程中。
所以,我有一个线程,我在等待启用状态
//at THIS line it claims to be WIFI_STATE_DISABLED so I turn it on with...
wifiManager.setEnabled(true);
//and at this line it reports as 3 (which according to the doc is WIFI_STATE_ENABLED, even though it clearly isn't
while(wifiManager.getWifiState() == WifiManager.WIFI_STATE_DISABLED || wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLING){
但它永远不会进入循环,它只是跳过,即使它没有启用
我希望还有其他一些我缺失的机制,或者我误解了“启用”的含义?
答案 0 :(得分:1)
WifiManager.WIFI_STATE_ENABLED
只告诉您,wifi设备已开启。它不会告诉您是否已建立与无线网络的连接。
看看android.net.ConnectivityManager.getActiveNetworkInfo()
。此函数将返回NetworkState
。使用NetworkState.getState()
功能,您可以检查连接是否真的可用。