码迷,mamicode.com
首页 > 移动开发 > 详细

android判断网络连接状态、联网类型、运营商

时间:2014-09-11 20:52:32      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   color   io   ar   div   sp   cti   

/**
     * 获取上网方式
     * 
     * @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.别忘了加网络权限

android判断网络连接状态、联网类型、运营商

标签:android   style   blog   color   io   ar   div   sp   cti   

原文地址:http://www.cnblogs.com/xirtam/p/3967163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!