zoukankan      html  css  js  c++  java
  • Android之判断当前网络状态

        /**
         * 检测网络是否可用
         * @return
         */
        public boolean isNetworkConnected() {
            ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo ni = cm.getActiveNetworkInfo();
            return ni != null && ni.isConnectedOrConnecting();
        }
    
        /**
         * 获取当前网络类型
         * @return 0:没有网络   1:WIFI网络   2:WAP网络    3:NET网络
         */
        
        public static final int NETTYPE_WIFI = 0x01;
        public static final int NETTYPE_CMWAP = 0x02;
        public static final int NETTYPE_CMNET = 0x03;
        public int getNetworkType() {
            int netType = 0;
            ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
            if (networkInfo == null) {
                return netType;
            }        
            int nType = networkInfo.getType();
            if (nType == ConnectivityManager.TYPE_MOBILE) {
                String extraInfo = networkInfo.getExtraInfo();
                if(!StringUtils.isEmpty(extraInfo)){
                    if (extraInfo.toLowerCase().equals("cmnet")) {
                        netType = NETTYPE_CMNET;
                    } else {
                        netType = NETTYPE_CMWAP;
                    }
                }
            } else if (nType == ConnectivityManager.TYPE_WIFI) {
                netType = NETTYPE_WIFI;
            }
            return netType;
        }
  • 相关阅读:
    版本控制之GitHub亲手实验总结
    Java的HashMap是如何实现的?
    Junit
    由swap引发的关于按值传递和引用传递的思考与总结
    C++了解free和delete
    GitHub使用教程
    Oracle下SQL学习笔记
    Flappy Bird
    尾递归与Continuation(转载)
    十步完全理解SQL(转载)
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3339948.html
Copyright © 2011-2022 走看看