android 获取GSM模式或wcdma模式

imasmallbird 2011-10-25 02:30:16
请教高手,android/OPhone中如何判断手机当前的网络模式是在GSM网络、wcdma网络或者TD网络?
...全文
502 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
imasmallbird 2011-10-27
  • 打赏
  • 举报
回复
更正一下,3楼的回复是可以判断网络的,移动的apn接入点为cmnet和cmwap,联通的接入点为3gnet和3gwap

另外,联通3g的网络类型是UMTS的,GSM的网络类型是GPRS的,与移动不同

结贴散分
imasmallbird 2011-10-26
  • 打赏
  • 举报
回复
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
Dreammingman 2011-10-25
  • 打赏
  • 举报
回复
Good,学习
floweriswho 2011-10-25
  • 打赏
  • 举报
回复
我也说的 差不多。。。
类说对了!
呵呵!
floweriswho 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lizhengjun2010 的回复:]

TelephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

int type = telManager.getNetworkType();
Log.e(tag, "网络类型:"+type);
[/Quote]
4楼正解
lizhengjun2010 2011-10-25
  • 打赏
  • 举报
回复
TelephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

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


hmg25 2011-10-25
  • 打赏
  • 举报
回复
你可以试试这样:
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
imasmallbird 2011-10-25
  • 打赏
  • 举报
回复
感谢楼上的回复,

GSM网络、WCDMA网络是指android手机中设置-》无线和网络设置-》移动网络-》选择网络中选择的网络类型

2G的是GSM网络,3G的是WCDMA和TD网络

我想获取用户选择的这部分信息,楼上的方法我试过了,是获取网络信息(mobile/wifi)和接入点的
floweriswho 2011-10-25
  • 打赏
  • 举报
回复
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信息呢 那就 麻烦点 得用内容提供者了。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧