繁体   English   中英

监控Android设备上的WiFi

[英]Monitoring the WiFi on android device

我需要在我的应用程序中处理一些Wifi方案的建议。

假设我的应用程序正在运行,并且设备闲置了一会儿并且进入了睡眠模式。 在睡眠模式下,wifi会自动关闭。 现在,当设备从睡眠模式恢复时,需要花费一些时间才能打开Wifi状态。 现在,如果在这段时间内应用后台服务正在发出http请求,我们如何处理这种情况?

要么

假设如果Wifi不可用,则设备正在尝试连接到GPRS / 3G,并且在此期间,如果用户/后台服务发出了HTTP请求,我们如何在代码中处理它?

  1. 您可以列出网络接口,它们的类型和连接状态:

    获取所有网络接口:

     NetworkInfo[] networkInfos = ConnectivityManager.getAllNetworkInfo(); 

    检查网络接口的类型

     networkInfo.getType() == ConnectivityManager.TYPE_MOBILE // or TYPE_WIFI 

    根据NetworkInfo.State检查状态

     networkInfo.getState() == NetworkInfo.State.CONNECTED 
  2. 如果需要连接,则可以:

    一种。 如上所述,检查网络状态。

    b。 注册接收器以在网络连接更改时获取更新信息: Android SDK中网络事件的意图操作

  3. 如果在没有连接的情况下尝试获取HTTP数据,则会出现异常。 您可以捕获此错误,然后稍后重试,但是选项2更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM