Android 网络判断类,用来判断网络状态

使用方法:

(1)先初始化

//初始化网络状态检测类
NetworkStateManager.instance().init(this);

(2)判断是否联网

NetworkStateManager.instance().isNetworkConnected();

  1. import android.content.Context;
  2. import android.net.ConnectivityManager;
  3. import android.net.NetworkInfo;
  4.  
  5. public class NetworkStateManager
  6. {
  7. static NetworkStateManager s_m = null;
  8.  
  9. private Context context;
  10.  
  11. private NetworkStateManager()
  12. {
  13.  
  14. }
  15.  
  16. public void init(Context ctx)
  17. {
  18. context = ctx;
  19. }
  20.  
  21. public static synchronized NetworkStateManager instance()
  22. {
  23. if (s_m == null)
  24. {
  25. s_m = new NetworkStateManager();
  26. }
  27. return s_m;
  28. }
  29.  
  30. /**
  31. * 判断是否有网络连接
  32. * @return
  33. */
  34. public boolean isNetworkConnected()
  35. {
  36. if (context == null)
  37. {
  38. return false;
  39. }
  40. ConnectivityManager connectivity = (ConnectivityManager) context
  41. .getSystemService(Context.CONNECTIVITY_SERVICE);
  42. if (connectivity == null)
  43. {
  44. return false;
  45. } else
  46. {
  47. NetworkInfo[] info = connectivity.getAllNetworkInfo();
  48. if (info != null)
  49. {
  50. for (int i = 0; i < info.length; i++)
  51. {
  52. if (info[i].getState() == NetworkInfo.State.CONNECTED)
  53. {
  54. return true;
  55. }
  56. }
  57. }
  58. }
  59. return false;
  60. }
  61. /**
  62. * 判断WIFI网络是否可用
  63. * @return
  64. */
  65. public boolean isWifiConnected()
  66. {
  67. if (context != null)
  68. {
  69. ConnectivityManager mConnectivityManager = (ConnectivityManager) context
  70. .getSystemService(Context.CONNECTIVITY_SERVICE);
  71. NetworkInfo mWiFiNetworkInfo = mConnectivityManager
  72. .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
  73. if (mWiFiNetworkInfo != null)
  74. {
  75. return mWiFiNetworkInfo.isAvailable();
  76. }
  77. }
  78. return false;
  79. }
  80. /**
  81. * 判断MOBILE网络是否可用
  82. * @return
  83. */
  84. public boolean isMobileConnected()
  85. {
  86. if (context != null)
  87. {
  88. ConnectivityManager mConnectivityManager = (ConnectivityManager) context
  89. .getSystemService(Context.CONNECTIVITY_SERVICE);
  90. NetworkInfo mMobileNetworkInfo = mConnectivityManager
  91. .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
  92. if (mMobileNetworkInfo != null)
  93. {
  94. return mMobileNetworkInfo.isAvailable();
  95. }
  96. }
  97. return false;
  98. }
  99.  
  100. public int getConnectedType()
  101. {
  102. if (context != null)
  103. {
  104. ConnectivityManager mConnectivityManager = (ConnectivityManager) context
  105. .getSystemService(Context.CONNECTIVITY_SERVICE);
  106. NetworkInfo mNetworkInfo = mConnectivityManager
  107. .getActiveNetworkInfo();
  108. if (mNetworkInfo != null && mNetworkInfo.isAvailable())
  109. {
  110. return mNetworkInfo.getType();
  111. }
  112. }
  113. return -1;
  114. }
  115.  
  116. }

 参考 http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html

android 网络连接判断的更多相关文章

  1. Android 网络连接判断与处理

    Android网络连接判断与处理  获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="and ...

  2. Android网络连接判断与处理

    博客分类: Android 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android ...

  3. Android网络连接判断与检测

    转自: http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html 本文主要内容: 1)判断是否有网络连接 2)判断WIFI网络是否 ...

  4. Android网络类型判断(2g、3g、wifi)

    判断网络类型是wifi,还是3G,还是2G网络,对不同 的网络进行不同的处理,现将判断方法整理给大家,以供参考   说明:下面用到的数据移动2G,联通2G,联通3G,wifi我都已经测试过,暂时手上 ...

  5. WebView 的使用----android 网络连接处理分析

    在Android中,可以有多种方式来实现网络编程: 创建URL,并使用URLConnection/HttpURLConnection 使用HttpClient 使用WebView 创建URL,并使用U ...

  6. 怎样检查Android网络连接状态

    在发送任何HTTP请求前最好检查下网络连接状态,这样可以避免异常.这个教程将会介绍怎样在你的应用中检测网络连接状态. 创建新的项目 1.在Eclipse IDE中创建一个新的项目并把填入必须的信息.  ...

  7. Android 网络连接状态的监控

    有些应用需要连接网络,例如更新后台服务,刷新数据等,最通常的做法是定期联网,直接使用网上资源.缓存数据或执行一个下载任务来更新数据. 但是如果终端设备没有连接网络,或者网速较慢,就没必要执行这些任务. ...

  8. Android网络连接监听

    接收系统网络服务的广播接收者 public class NetStateReceiver extends BroadcastReceiver { private Handler handler; pu ...

  9. Android网络连接之HttpURLConnection和HttpClient

    1.概念   HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.在 JDK 的 java.net 包中 ...

随机推荐

  1. dell n2024交换机配置

    1.putty串口设置 9600 8 1 None None 2.连接 3.console>en 4.带内管理IP地址 console(config)#username admin passwo ...

  2. 一月收集几个有用的谷歌Chrome插件

    谷歌Chrome自推出以来已经从一个简单的浏览器演变成一个复杂的浏览器,这得益于根据浏览器写出的非常有用和强大的扩展.作为一名开发人员,我们关注的是网页设计和开发部分的那些插件对我们有帮助,几个比较熟 ...

  3. Xss测试

    <Script>alert(“XSS attack available!”);</Script>

  4. Memcached 补充

    Memcached 补充 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站 ...

  5. CSDN博客积分规则

    1.博客积分规则 博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准.博客等级也将由博客积分唯一决定.积分规则具体如下: 每发布一篇原创或者翻译文章:可获得10分: 每发布一篇转载文 ...

  6. 《机器学习》第三章——LDA

    import numpy as np x=np.zeros((2,17)) y=np.zeros((1,17)) def dataload(filename): f=open(filename) ar ...

  7. GitHub原来也可以用SVN客户端的.

    不知道是不是自己真的太宅了. 一直以为只能用git client 来clone github工程的.  偶然今日发现还可以用 SVN 来下载的. 果断一试. 太好用了. 这回windows 上不用纠结 ...

  8. IOS开发GCD小结

    0. Brief Introduction GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制.它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后 ...

  9. Android常见问题——找不到HttpClient和okHttp的包

    今天再用Android Studio进行网络编程的时候遇到了一个问题,就是怎么也找不到HttpClient的包,上网搜了一下也没什么结果,但最后偶然解决问题,下面总结了一下方法: 首先打开File-& ...

  10. I.MX6 I2C DS1337 disable square-wave output

    linux I2C DS1337 disable square-wave output \\\\\\\\\\\-*- 目录 -*-////////// | 一.DS1337访问寄存器说明: | 二.c ...