当前位置:操作系统 > 安卓/Android >>

android 获取SIM卡的类型··

/获得SIMType   
String simType = "unknown";
 
//获得系统服务,从而取得sim数据   
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); //获得手机SIMType   
 
int type = tm.getNetworkType();   
//判断类型值,并且命名  
//我的手机卡是联通USIM卡,在这儿取出来的值为10NETWORK_TYPE_HSPA
//所以取出来的是UIM其实就是未知
 
if (type == TelephonyManager.NETWORK_TYPE_UMTS) {   
simType = "USIM";
//类型为UMTS定义为wcdma的USIM卡   
} else if (type == TelephonyManager.NETWORK_TYPE_GPRS ) {   
simType = " SIM";//类型为GPRS定义为GPRS的SIM卡   
}else if (
type == TelephonyManager.NETWORK_TYPE_EDGE) {   
simType = " SIM";
//类型为EDGE定义为EDGE的SIM卡   
}else{   
simType = " UIM";
//类型为unknown定义为cdma的UIM卡   
}

这种方法可行但是不全面,欢迎广大同仁给于建设性的意见!

 

private String getSimType() {        // 获得SIMType           String simType = "";        // 获得系统服务,从而取得sim数据           TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);         int type = tm.getNetworkType();        System.out.println(Contants.DEBUG+" NetWorkType:"+type);        //Test1:我的手机卡是联通USIM卡,在这儿取出来的值为10-------NETWORK_TYPE_HSPA        //Test2:中国移动 神州行OTA 2-----NETWORK_TYPE_EDGE        //Test3:中国移动 动感地带OTA 2-----NETWORK_TYPE_EDGE        //...         switch (type) {            case TelephonyManager.NETWORK_TYPE_UNKNOWN://0                simType= "UNKOWN";                break;            case TelephonyManager.NETWORK_TYPE_GPRS://1                simType= "SIM";                break;            case TelephonyManager.NETWORK_TYPE_EDGE://2                simType= "SIM";                break;            case TelephonyManager.NETWORK_TYPE_UMTS://3                simType= "USIM";                break;            case TelephonyManager.NETWORK_TYPE_CDMA://4                simType= "Either IS95A or IS95B Card";                break;            case TelephonyManager.NETWORK_TYPE_EVDO_0://5                simType= "EVDO revision 0 Card";                break;            case TelephonyManager.NETWORK_TYPE_EVDO_A://6                simType= "EVDO revision A Card";                break;            case TelephonyManager.NETWORK_TYPE_1xRTT://7                simType= "1xRTT Card";                break;            case TelephonyManager.NETWORK_TYPE_HSDPA://8                simType= "HSDPA Card";                break;            case TelephonyManager.NETWORK_TYPE_HSUPA://9                simType= "HSUPA Card";                break;            case TelephonyManager.NETWORK_TYPE_HSPA://10                simType= "USIM";                break;                     }        System.out.println(Contants.DEBUG+" sim type :"+simType);        return simType;    }

1、GPRS
通用分组无线服务技术(General Packet Radio Service)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS的传输速率可提升至56甚至114Kbps
2、GSM
全球移动通讯系统Global System of Mobile Communication就是众所周知的GSM,是当前应用最为广泛的移动电话标准。全球超过200个国家和地区超过10亿人正在使用GSM电话。GSM标准的无处不在使得在移动电话运营商之间签署"漫游协定"后用户的国际漫游变得很平常。GSM较之它以前的标准最大的不同是他的信令和语音信道都是数字式的,因此GSM被看作是第二代(2G)移动电话系统。这说明数字通讯从很早就已经构建到系统中。GSM是一个当前由3GPP开发的开放标准。
由于采用了高效调制器、信道编码、交织、均衡和语音编码技术,使系统具有高频谱效率。鉴于数字传输技术的特点以及GSM规范中有关空中接口和话音编码的定义,在门限值以上时,话音质量总是达到相同的水平而与无线传输质量无关。
3、3G
第三代移动通信技术(3rd-generation,3G),是指支持高速数据传输的蜂窝移动通讯技术。3G服务能够同时传送声音及数据信息,速率一般在几百kbps以上。目前3G存在四种标准:CDMA2000,WCDMA,TD-SCDMA,WiMAX。
4、CDMA
CDMA (Code Division Multiple Access) 又称码分多址,是在无线通讯上使用的技术,CDMA允许所有使用者同时使用全部频带(1.2288Mhz),且把其他使用者发出讯号视为杂讯,完全不必考虑到讯号碰撞 (collision) 问题。CDMA中所提供语音编码技术,通话品质比目前GSM好,且可把用户对话时周围环境噪音降低,使通话更清晰。就安全性能而言,CDMA不但有良好的认证体制,更因其传输特性,用码来区分用户,防止被人盗听的能力大大增强。 Wideband CDMA(WCDMA)宽带码分多址传输技术,为IMT-2000的重要基础技术,将是第三代数字无线通信系统标准之一。
TDMA的信道结构最多只能支持4Kb的语音编码器,它不能支持8Kb以上的语音编码器。而CDMA的结构可以支持13kb的语音编码器。因此可以提供更好的通话质量。CDMA系统的声码器可以动态地调整数据传输速率,并根据适当的门限值选择不同的电平级发射。同时门限值根据背景噪声的改变而变,这样即

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,