Android 如何等待WifiManager连接,并确定是否正常/失败?
我正在构建一个应用程序,可以使用WifiManager自动添加/连接我们的WiFi主机硬件,这样用户就可以轻松访问其网络界面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.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
-可能会出现一些新的答案-如果没有,请遵循相关链接。确定失败?不知道,也许吧?