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

来源:互联网 发布:java模拟器安卓版 编辑:程序博客网 时间:2024/06/05 01:56


在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;
    }
}
0 0
原创粉丝点击