Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android,如何在轮询数据时处理网络变化(从GPRS到Wi-fi,反之亦然)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 DefaultHttpClientHttpGet来从服务器轮询数据.现在,假设用户在Wi-Fi网络中并离开了房间.因此手机会自动开始使用3G网络.是否有任何此类更改的回调,以及我应该如何处理此类更改.我应该再次开始轮询还是操作系统会注意适当地进行更改

解决方法

您可以在清单中设置receiver:
<receiver
  android:name=".NetworkChangeReceiver"
  android:label="NetworkChangeReceiver">
  <intent-filter>
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
  </intent-filter>
</receiver>

并使用以下内容实现Receiver:

public class NetworkChangeReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(final Context context,final Intent intent) {
    final Connectivitymanager connMgr = (Connectivitymanager) 
    context.getSystemservice(Context.CONNECTIVITY_serviCE);

    final android.net.NetworkInfo wifi = 
    connMgr.getNetworkInfo(Connectivitymanager.TYPE_WIFI);

    final android.net.NetworkInfo mobile = 
    connMgr.getNetworkInfo(Connectivitymanager.TYPE_MOBILE);

    if (wifi.isAvailable()) {
      //Do something
    if (mobile.isAvailable()) {
      //Do something else
    }
  }
}

如果您保持持久连接,它将关闭,您必须重新建立连接.

如果您正在安排服务并且没有保持连接持久,那么您将不会遇到问题.

大佬总结

以上是大佬教程为你收集整理的Android,如何在轮询数据时处理网络变化(从GPRS到Wi-fi,反之亦然)全部内容,希望文章能够帮你解决Android,如何在轮询数据时处理网络变化(从GPRS到Wi-fi,反之亦然)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。