Android中用ConnectivityManager 判断网络的工具类

原创 2015年11月19日 14:47:24


在android开发中,判断当前网络时,用到了ConnectivityManager,它是网络连接管理器.负责回应网络的连接状态.进行网络判断时,主要有以下5个部分:

    1.判断网络是否是可用的
    2.判断网络是否已经连接
    3.得到网络类型
    4.判断是否是WiFi网络
    5.判断看是否是Mobile类型网络

实例如下:


/**
 * Created by jyq on 2015/11/19.
 */
public class ConnectUtils {

    /*
    * 判断网络是否可用
    * */
    public static boolean isNetworkAvilable(Context context){


        ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo networkInfo = manager.getActiveNetworkInfo();

        if (networkInfo!=null){
            boolean b = networkInfo.isAvailable();
            return b;
        }
        return false;
    }
    /*
    * 判断网络是否连接
    * */
    public static boolean isConnected(Context context){


        ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = manager.getActiveNetworkInfo();

        if (networkInfo!=null){
            boolean connected = networkInfo.isConnected();
            return connected;
        }


        return false;
    }


    /*
    * 获取网络类型
    * */
    public static String getNetworkType(Context context){
        ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = manager.getActiveNetworkInfo();

        if (networkInfo!=null){
            String typeName = networkInfo.getTypeName();
            return typeName;
        }
        return null;
    }
    /*
    * 判断是否是WIFI网络
    * */
    public static boolean isWifiNetwork(Context context){
        ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        if (networkInfo!=null&&networkInfo.isConnected()) {
            return true;
        }
        return false;
    }
    /*
    * 判断是否是Mobile类型
    * */
    public static boolean isMonbileNetwork(Context context){
        ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if (networkInfo!=null&&networkInfo.isConnected()) {
            return true;
        }
        return false;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android判断网络是否断开(WIFI 状态)--ConnectivityManager

Android判断网络是否断开 public boolean isNetworkAvailable(Context act) {         ConnectivityManager cm = ...
  • dreamtdp
  • dreamtdp
  • 2014年02月10日 14:08
  • 4994

android 网络判断工具类

网络判断工具类 /** * @类名:NetUtil * @类描述:网络判断处理类 * @创建时间:2015年2月12日-上午9:34:32 * @修改人: * @修改时间: * ...
  • kujing823
  • kujing823
  • 2016年11月09日 15:56
  • 274

Android网络状态判断工具类(全)

NetworkUtils工具类里封装了以下方法: [html] view plain copy print?openWirelessSettings   : 打开网络设置界面  isConnected...
  • qq_39085422
  • qq_39085422
  • 2017年11月08日 19:12
  • 1449

用ConnectivityManager判断网络类型

public void connectivityManager(){ // 判断网络类型 ConnectivityManager connectMgr = (Conne...
  • zhuzhiqiang_zhu
  • zhuzhiqiang_zhu
  • 2016年03月03日 21:53
  • 897

ConnectivityManager详解--解决网络连接状态

/** * 测试ConnectivityManager * ConnectivityManager主要管理和网络连接相关的操作 * 相关的TelephonyManager则管理和手机、运营商等的相关信...
  • zsr251
  • zsr251
  • 2014年09月13日 14:54
  • 792

Android 网络管家ConnectivityManager

Android提供了多种网络与数据传输通道,最常见的是WIFI和移动基站通信(Cellular),同时Android还可以将终端本身作为热点(Wifi Access Point),也可通过WIFI进行...
  • wang2119
  • wang2119
  • 2017年05月03日 17:52
  • 2499

Android Okhttp3了解及封装类使用

Android Okhttp3了解及封装类使用
  • lyb249473330
  • lyb249473330
  • 2017年10月12日 11:22
  • 486

android 网络判断工具类(APN+WIFI)

public class NetWorkHelper { private static String LOG_TAG = "NetWorkHelper"; public static Uri ...
  • u014600432
  • u014600432
  • 2014年12月03日 10:29
  • 1358

ConnectivityManager 确定和监控网络连接状态

ConnectivityManager 确定和监控网络连接状态
  • ztguang
  • ztguang
  • 2016年07月10日 15:21
  • 586

Android:判断用户网络状态的Kotlin工具类

Android:判断用户网络状态的Kotlin工具类标签(空格分隔): android 转载:Android 判断用户2G/3G/4G移动数据网络通过 Android 提供的 TelephonyMa...
  • qq_32583189
  • qq_32583189
  • 2016年09月22日 15:45
  • 1124
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中用ConnectivityManager 判断网络的工具类
举报原因:
原因补充:

(最多只允许输入30个字)