[英]Monitoring the WiFi on android device
我需要在我的应用程序中处理一些Wifi方案的建议。
假设我的应用程序正在运行,并且设备闲置了一会儿并且进入了睡眠模式。 在睡眠模式下,wifi会自动关闭。 现在,当设备从睡眠模式恢复时,需要花费一些时间才能打开Wifi状态。 现在,如果在这段时间内应用后台服务正在发出http请求,我们如何处理这种情况?
要么
假设如果Wifi不可用,则设备正在尝试连接到GPRS / 3G,并且在此期间,如果用户/后台服务发出了HTTP请求,我们如何在代码中处理它?
您可以列出网络接口,它们的类型和连接状态:
获取所有网络接口:
NetworkInfo[] networkInfos = ConnectivityManager.getAllNetworkInfo();
检查网络接口的类型
networkInfo.getType() == ConnectivityManager.TYPE_MOBILE // or TYPE_WIFI
根据NetworkInfo.State
检查状态
networkInfo.getState() == NetworkInfo.State.CONNECTED
如果需要连接,则可以:
一种。 如上所述,检查网络状态。
b。 注册接收器以在网络连接更改时获取更新信息: Android SDK中网络事件的意图操作
如果在没有连接的情况下尝试获取HTTP数据,则会出现异常。 您可以捕获此错误,然后稍后重试,但是选项2更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.