请教高手,android/OPhone中如何判断手机当前的网络模式是在GSM网络、wcdma网络或者TD网络?

解决方案 »

  1.   

    GSM网络、wcdma网络或者TD网络 这个是 什么啊?你可以看看这两个类cmanager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    info=cmanager.getActiveNetworkInfo();
    Log.e("lmf",info.toString());
    这个是 获得链接 方式 可以 查看 是 mobile还是 wifi还有一个类是 TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); //获得手机SIMType
    这个 可以查看 sim卡 类型 移动 or 联通  你想知道的应该用这个看
    如果你想 知道 APN信息呢 那就 麻烦点 得用内容提供者了。
      

  2.   

    感谢楼上的回复,GSM网络、WCDMA网络是指android手机中设置-》无线和网络设置-》移动网络-》选择网络中选择的网络类型2G的是GSM网络,3G的是WCDMA和TD网络我想获取用户选择的这部分信息,楼上的方法我试过了,是获取网络信息(mobile/wifi)和接入点的
      

  3.   

    你可以试试这样:
     NetworkInfo info = null;
     info = ((ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
            if(info!=null && info.isConnected()) {
          if(info.getTypeName().equalsIgnoreCase("mobile")) {
        String apn = info.getExtraInfo();
        if(apn!=null && (apn.equalsIgnoreCase("3gnet") || apn.equalsIgnoreCase("3gwap") )){ //使用3G
      

  4.   

    TelephonyManager  = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);int type = telManager.getNetworkType();
    Log.e(tag, "网络类型:"+type);
      

  5.   

    3楼的回复是从接入点进行判断的,但是接入点是可变的,所以判断起来并不准确4楼的回复是正解,移动GSM网络的标示是NETWORK_TYPE_EDGE。WCDMA的网络暂时还未验证我是通过
    ConnectivityManager conManager = (ConnectivityManager) contx
    .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = conManager
    .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    String subTypeName = info.getSubtypeName();
    获取SubtypeName来校验的,我使用的终端是OPhone,取得的GSM网络为EDGE,TD网络为TD_HSDPA
      

  6.   

    更正一下,3楼的回复是可以判断网络的,移动的apn接入点为cmnet和cmwap,联通的接入点为3gnet和3gwap另外,联通3g的网络类型是UMTS的,GSM的网络类型是GPRS的,与移动不同结贴散分