android判断2G/3G网络

来源:互联网 发布:朔州广电网络客服电话 编辑:程序博客网 时间:2024/05/18 02:41

android判断2g|3g网络

可以通过ConnectivityManager获取当前网络连接状态,通过状态值判别当前网络连接

 NetworkInfo info = conMan.getActiveNetworkInfo();


      if(info !=null && info.getType() ==  ConnectivityManager.TYPE_MOBILE)
      {

       // NETWORK_TYPE_EVDO_A是电信3G

      //NETWORK_TYPE_EVDO_A是中国电信3G的getNetworkType

      //NETWORK_TYPE_CDMA电信2G是CDMA

      //移动2G卡 + CMCC + 2//type = NETWORK_TYPE_EDGE

      //联通的2G经过测试 China Unicom   1 NETWORK_TYPE_GPRS


       if(info.getSubtype() == TelephonyManager.NETWORK_TYPE_GPRS

           || info.getSubtype() == TelephonyManager.NETWORK_TYPE_CDMA
           || info.getSubtype() == TelephonyManager.NETWORK_TYPE_EDGE){
          System.out.println("mobile connected");
       }
       else{
            System.out.println("type:"+info.getSubtype());
             System.out.println("not mobile");
       }
      }else
      System.out.println("not mobile connected");

 通过getType的值可以得到以下2g|3g网络