zoukankan      html  css  js  c++  java
  • android判断网络连接状态、联网类型、运营商

    /**
         * 获取上网方式
         * 
         * @param mContext
         * @return
         */
        public static String getNetType(Context mContext) {
    
            String netType = "";
            ConnectivityManager connectionManager = (ConnectivityManager) mContext
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = connectionManager.getActiveNetworkInfo();
            if (null != info && info.isAvailable()) {
                netType = info.getTypeName();
            }
            return netType;
        }
    
        /**
         * 判断网络连接是否可用
         * 
         * @param mContext
         * @return 
         */
    
        public static boolean getNetIsVali(Context mContext) {
    
            if (mContext != null) {
                ConnectivityManager mConnectivityManager = (ConnectivityManager) mContext
                        .getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo mNetworkInfo = mConnectivityManager
                        .getActiveNetworkInfo();
                if (mNetworkInfo != null) {
                    return mNetworkInfo.isAvailable();
                }
            }
            return false;
        }
    
        /**
         * 获取运营商信息
         * 
         * @param mContext
         * @return
         */
        public static String getNetExtraInfo(Context mContext) {
    
            String netExtraInfo = "";
            TelephonyManager mTm = (TelephonyManager) mContext
                    .getSystemService(Context.TELEPHONY_SERVICE);
            if (mTm.getSimState() == TelephonyManager.SIM_STATE_READY) {
                netExtraInfo = mTm.getSimOperator();
                if (null != netExtraInfo) {
                    if (netExtraInfo.equals("46000")
                            || netExtraInfo.equals("46002")
                            || netExtraInfo.equals("46007")) {
                        // 中国移动
                        netExtraInfo = "中国移动";
                    } else if (netExtraInfo.equals("46001")) {
    
                        // 中国联通
                        netExtraInfo = "中国联通";
                    } else if (netExtraInfo.equals("46003")) {
    
                        // 中国电信
                        netExtraInfo = "中国电信";
                    } else {
                        netExtraInfo = "其他";
                    }
                }
            }
            return netExtraInfo;
        }

    1.只考虑1卡

    2.别忘了加网络权限

  • 相关阅读:
    Numpy入门
    Numpy入门
    Spring源码之IoC原理
    LeetCode之连续子数组的最大和
    剑指Offer之从1到n整数中1出现的次数
    剑指Offer之最小的k个数
    剑指Offer之字符串的排列
    剑指Offer之二叉搜索树与双向链表
    剑指Offer之二叉树中和为某一值的路径
    剑指Offer之二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/xirtam/p/3967163.html
Copyright © 2011-2022 走看看