Android 如何等待WifiManager连接,并确定是否正常/失败?

Android 如何等待WifiManager连接,并确定是否正常/失败?,android,broadcastreceiver,android-wifi,wifimanager,Android,Broadcastreceiver,Android Wifi,Wifimanager,我正在构建一个应用程序,可以使用WifiManager自动添加/连接我们的WiFi主机硬件,这样用户就可以轻松访问其网络界面 wifiManager.enableNetwork(即networkId,true)零件工作。它立即返回,几秒钟后wifi连接。但是webinterface活动立即启动,WebView很快超时:页面无法加载 这是因为WiFi连接需要几秒钟的时间。我也无法通知用户连接尝试失败 我读了这篇文章,在我看来,BroadcastReceiver可以“戳”我的wifi连接活动,从而启

我正在构建一个应用程序,可以使用WifiManager自动添加/连接我们的WiFi主机硬件,这样用户就可以轻松访问其网络界面

wifiManager.enableNetwork(即networkId,true)零件工作。它立即返回,几秒钟后wifi连接。但是webinterface活动立即启动,WebView很快超时:页面无法加载

这是因为WiFi连接需要几秒钟的时间。我也无法通知用户连接尝试失败

我读了这篇文章,在我看来,
BroadcastReceiver
可以“戳”我的wifi连接活动,从而启动webinterface活动。另一个好处是还可以可视化失败的连接

所以,我的问题是:

  • 我确认我需要一个
    广播接收器
    用于
    WifiManager.requiciant\u STATE\u CHANGED\u ACTION
    WifiManager.NETWORK\u STATE\u CHANGED\u ACTION
  • 何时注册和注销
  • 我可以/可以在两者之间设置一个循环来检查状态机(和超时),或者这是一个糟糕的设计,为什么
我希望这可以在我的应用程序实例中完成。。或者,当wifi尝试连接时,退出应用程序时,这是否会固有地导致错误

编辑:

至于代码;我使用WifiManager的方式与此完全相同:


以安卓4.1.2为目标,我在活动中使用片段来回收视图/状态实例。

您应该收听
WifiManager.NETWORK\u state\u CHANGED\u ACTION
并检查连接意图中包含的
NetworkInfo
对象


何时注册:在不关闭代码的情况下很难说,但您可以在调用连接部分之前注册
wifiManager.enableNetwork

-可能会出现一些新的答案-如果没有,请遵循相关链接。确定失败?不知道,也许吧?