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

使用方法:

(1)先初始化

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

(2)判断是否联网

NetworkStateManager.instance().isNetworkConnected();

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo; public class NetworkStateManager
{
static NetworkStateManager s_m = null; private Context context; private NetworkStateManager()
{ } public void init(Context ctx)
{
context = ctx;
} public static synchronized NetworkStateManager instance()
{
if (s_m == null)
{
s_m = new NetworkStateManager();
}
return s_m;
} /**
* 判断是否有网络连接
* @return
*/
public boolean isNetworkConnected()
{
if (context == null)
{
return false;
}
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null)
{
return false;
} else
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
{
for (int i = 0; i < info.length; i++)
{
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
/**
* 判断WIFI网络是否可用
* @return
*/
public boolean isWifiConnected()
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWiFiNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWiFiNetworkInfo != null)
{
return mWiFiNetworkInfo.isAvailable();
}
}
return false;
}
/**
* 判断MOBILE网络是否可用
* @return
*/
public boolean isMobileConnected()
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mMobileNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mMobileNetworkInfo != null)
{
return mMobileNetworkInfo.isAvailable();
}
}
return false;
} public int getConnectedType()
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null && mNetworkInfo.isAvailable())
{
return mNetworkInfo.getType();
}
}
return -1;
} }

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

最新文章

  1. OC NSFileHandle(文件内容操作)
  2. asp.net GDI+绘制五边形
  3. cell重用的几种方式
  4. SQLServer 维护脚本分享(05)内存(Memory)
  5. 【Gym 100733D】Little thief Shi
  6. 雷达装置 (POJ 1328/ codevs 2625)题解
  7. python异常以及面向对象编程
  8. Java基础知识强化25:Java创建对象的四种方式
  9. 0,null,empty,空,false,isset
  10. 经典系统windows xp sp3官方原版下载(附XP序列号)
  11. php mysql 实现消息队列
  12. 【原】Unity Shader VS UDK Material Editor
  13. 【Kafka源码】ReplicaManager启动过程
  14. Linux常用资源(不断改进中)
  15. c#基础系列1---深入理解值类型和引用类型
  16. Lab 5-1
  17. 安装vue CLI后, 出现安装权限问题
  18. cp -rf 提示覆盖解决办法
  19. 结对作业:基于GUI实现四则运算
  20. codevs 1052 地鼠游戏 优先队列

热门文章

  1. 【zznu-夏季队内积分赛3-I】逛超市
  2. 12.18 微信扫码获取openid与登陆
  3. iOS二维码、条形码生成(可指定大小、颜色)
  4. 【LeetCode 228_数组】Summary Ranges
  5. Mybatis的执行过程
  6. OkHttp之BridgeInterceptor简单分析
  7. 十图详解TensorFlow数据读取机制(附代码)
  8. 【转】Ubuntu16.04安装WPS
  9. NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计
  10. 如何看待 Kotlin 成为 Android 官方支持开发语言?