Android如何判断手机卡是SIM卡或者USIM卡
我现在正在做中国移动的一个项目,现在需要判断手机卡的类型,我在网上搜到的代码为:/获得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;
}
QQ:1030506672,碰到同样问题,请教!!! --------------------编程问答-------------------- 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系统的声码器可以动态地调整数据传输速率,并根据适当的门限值选择不同的电平级发射。同时门限值根据背景噪声的改变而变,这样即使在背景噪声较大的情况下,也可以得到较好的通话质量。另外,TDMA采用一种硬移交的方式,用户可以明显地感觉到通话的间断,在用户密集、基站密集的城市中,这种间断就尤为明显,因为在这样的地区每分钟会发生2至4次移交的情形。而CDMA系统“掉话”的现象明显减少,CDMA系统采用软切换技术,“先连接再断开”,这样完全克服了硬切换容易掉话的缺点。
5、WCDMA
WCDMA 是英文Wideband Code Division Multiple Access(宽带码分多址)的英文简称,是一种第三代无线通讯技术。W-CDMAWideband CDMA 是一种由3GPP具体制定的,基于GSM MAP核心网,UTRAN(UMTS陆地无线接入网)为无线接口的第三代移动通信系统。目前WCDMA有Release 99、Release 4、Release 5、Release 6等版本。目前中国联通采用的此种3G通讯标准。
6、CDMA2000
CDMA2000也称为CDMA Multi-Carrier,由美国高通北美公司为主导提出,摩托罗拉、Lucent和後来加入的韩国三星都有参与,韩国现在成为该标准的主导者。这套系统是从窄频CDMA One数字标准衍生出来的,可以从原有的CDMA One结构直接升级到3G,建设成本低廉。但目前使用CDMA的地区只有日、韩和北美,所以相对于WCDMA来说,CDMA2000的适用范围要小些,使用者和支持者也要少些。不过CDMA2000的研发技术却是目前3G各标准中进度最快的,许多3G手机已经率先面世。 CDMA2000 是一个3G移动通讯标准,国际电信联盟ITU的IMT-2000标准认可的无线电接口,也是2G CDMA标准(IS-95, 标志 CDMA1X)的延伸。 根本的信令标准是IS-2000。 CDMA2000与另两个主要的3G标准WCDMA以及TD-SCDMA不兼容。
CDMA2000是美国通讯行业协会 (TIA-USA) 的注册商标, 并不是一个象CDMA一样的通用术语。TIA也注册了他们的2G CDMA标准(AKA IS-95)对应CDMA1X。目前我国电信采用此标准。
7、TD-SCDMA
TD-SCDMA是英文Time Division-Synchronous Code Division Multiple Access(时分同步码分多址) 的简称,是一种第三代无线通信的技术标准,也是ITU批准的三个3G标准中的一个,相对于另两个主要3G标准(CDMA2000)或(WCDMA)它的起步较晚。
TD-SCDMA作为中国提出的第三代移动通信标准(简称3G),自1998年正式向ITU(国际电联)提交以来,已经历十多年的时间,完成了标准的专家组评估、ITU认可并发布、与3GPP(第三代伙伴项目)体系的融合、新技术特性的引入等一系列的国际标准化工作,从而使TD-SCDMA标准成为第一个由中国提出的,以我国知识产权为主的、被国际上广泛接受和认可的无线通信国际标准。这是我国电信史上重要的里程碑。(注:3G共有4个国际标准,另外3个是美国主导的CDMA2000、WiMAX和欧洲主导的WCDMA.)目前我国移动采用此标准。
8、TD-LTE
TD-LTE即TD-SCDMA Long Term Evolution,宣传是是指TD-SCDMA的长期演进 。 实际上没有关系。TD-LTE是TDD版本的LTE的技术,FDD-LTE的技术是FDD版本的LTE技术。TDD和FDD的差别就是TD采用的是不对称频率是用时间进行双工的,而FDD是采用一对频率来进行双工。 TD-SCDMA是CDMA技术,TD-LTE是OFDM技术,不能对接。TD-LTE与LTE FDD在标准化进程方面基本同步,LTE协议09年3月发布第一版(Rel 8),10年3月发布第二版(Rel 9),已先后冻结。TDD和FDD两种制式之间存在着高度一致性。
--------------------编程问答-------------------- 各种手机卡知识
1、UIM卡
UIM(User Identity Model)用户识别模块,是由中国联通公司倡导并得到国际CDMA组织(CDG)支持的移动通信终端用户识别及加密技术。它支持专用的鉴权加密算法和OTA技术(Over The Air),可以通过无线空中借口方式对卡上的数据进行更新和管理。UIM卡的功能类似于全球通(GSM)手机中使用的SIM卡,可进行用户的身份识别及通信加密,还可以存储电话号码、短信息等用户个人信息。同时UIM卡采用了SIM卡一卡一号的便利使用方式,用户只需拥有一张属于个人的UIM卡,插入任何一步配有UIM卡接口的手机即可应用。由于在CDMA系统的原始设计中,用户识别信息是直接存储在移动终端中的,并没有一个与移动终端可以分离的存储用户信息的功能实体,因此并不是所有国家的CDMA手机都需要UIM卡才能使用,比如韩国就是采用的“机卡一体”式的CDMA手机。
2、UTK卡
安装了智能包的UTK卡,能够提供更多的移动通信增值业务。
3、MMC卡
全称是“MultiMediaCard”,通常被叫做“多媒体卡”,是一种小巧且大容量的快闪存储卡,由美国SANDISK公司和德国西门子公司于2000年共同开发。目前已经相当成熟。日立、SanDisk、Infineon等各大厂家都在大量生产MMC卡并将其广泛应用在移动电话、数码相机、数码摄象机、MP3等多种数码产品上。
4、CF卡
全称是“CompactFlash”(CF:压缩闪存)是目前世界上最小的大容量存储设备,1994年由SanDisk最先推出。CF卡具有PCMCIA-ATA功能,并与之兼容; CF卡重量只有14g,仅纸板火柴般大小(43mmx36mmx3.3mm),是一种固态产品,也就是工作时没有运动部件(当然不工作时也一样)。CF卡采用闪存(flash)技术,是一种稳定的存储解决方案,不需要电池来维持其中存储的数据。对所保存的数据来说,CF卡比传统的磁盘驱动器,更具安全性和保护性;比传统的磁盘驱动器及III型PC卡的可*性高5到10倍,但CF卡的用电量仅为小型磁盘驱动器的5%。CF卡使用3.3V到5V之间的任何电压工作(包括3.3V或5V),而别的微型闪存卡仅能使用3.3V或5V电源。CF卡50针,但能够很容易地插入68针II型适配器卡(槽)(完全满足PCMCIA机电界面技术要求)中使用。CF卡使用的连接器与PCMCIA的相似。经过用户在便携式设备上的几年实用后,CF卡的可*性和耐用性已得到了证明,尽管用在这类设备上需要对CF卡频繁插拔;而其他形式的小型闪存卡可*性和耐用性,是不及CF卡的。CF卡存储容量4MB以上,是耗电量最低的闪存解决方案,因为内置的控制器使得CF卡采用了多种低能耗闪存技术;这样主机使用CF卡时,比使用的别的存储卡要节省用电量。目前,部分智能手机以此为存储卡。
5、SD卡
SD(Secure Digital Card)卡是由日本松下公司、东芝公司和美国SANDISK公司于1999年8月共同开发研制的数据存储卡。其数据传送和物理规范由MMC卡发展而来,它比MMC卡多了一个进行数据著作权保护的暗号认证功能(SDMI规格)。大小和MMC卡差不多,尺寸为32mm×24mm×2.1mm,长宽和MMC卡一样,只是厚了0.7mm,容量则要大许多,现多用于MP3,数码摄像机,电子图书,微型电脑,AV器材等,部分智能手机以此为数据存储卡。
6、SIM卡
SIM卡 (Subscriber Identity Module) ,即用户识别卡,它是一张符合GSM规范的“智慧卡”,SIM卡有大小之分,大卡尺寸54mm×84mm(约为名片大小),小卡尺寸为25mm×15mm(比普通邮票还小)。其实“大卡”上面真正起作用的是它上面的那张“小卡”,“小卡”上起作用的部分只有小指甲盖那么大。目前国内流行样式是“小卡”,小卡也可以换成“大卡”(有个卡托即可)。“大卡”和“小卡” 分别适用于不同类型的GSM移动电话,早期的机型如摩托罗拉GC87C、308C等手机用的是“大卡”,现在新出的机型基本上都是用“小卡”。 SIM 卡可以插入任何一部符合GSM规范的移动电话中,“实现电话号码随卡不随机的功能”,而通话费则自动计入持卡用户的帐单上,与手机无关
7、STK卡
STK是英文SIM Tool Kit的缩写,简称“用户识别应用发展工具“,是在GSM手机使用的大容量SIM卡中开发的应用菜单。STK可以理解为一组开发增值业务的命令,一种小型编程语言,它允许基于智能卡的用户身份识别模块(SIM卡)运行自己的应用软件。STK技术主要应用于手机银行、股票交易、外汇买卖、理财秘书等领域。移动新业务“手机银行”、“股票查询与交易”等就是在使用该项技术。STK卡同原来的SIM卡一样,可以在普通GSM手机上使用。不同的是,STK卡是新一代的智能卡,具有很高的存储量。(普通的SIM卡的存储量为8K字节,而STK卡容量为32K字节,以后还会继续成倍增加,这就使得它可以存储大量的信息。
8、移动梦网卡
移动梦网卡是中国移动推出的基于短信实现的增值服务,是在普通的STK功能上联合ICP应用服务的多功能SIM卡。该产品将ICP短信应用服务以菜单的形式移植到STK卡中,增强了手机的通信功能,使手机不仅仅是一个孤立的通信工具,而是成为了一种综合的信息终端,让用户可以在手机上方便地使用移动互联网业务。
9、动感地带
“动感地带”是伴随着“移动梦网”的蓬勃发展而诞生的一种新的移动服务,它具有鲜明的个性——专门服务于e时尚年轻一族。拥有“动感地带”,不仅可享受优质的语音通话服务,而且还可享受数据短信套餐,通过其专用的具有空中下载(OTA)功能的STK卡的独特菜单轻松玩转短信游戏、短信聊天、短信点歌、铃声图片下载等。
--------------------编程问答-------------------- --------------------编程问答-------------------- 如果手机是双卡,这种不能判断双卡哦。。。
--------------------编程问答-------------------- 怎么判断手机是否装载了SIM卡, TelephonyManager mTelephonyManager=(TelephonyManager) mapViewActivity.getSystemService(Service.TELEPHONY_SERVICE);
if(mTelephonyManager.getSimState()!=TelephonyManager.SIM_STATE_READY) 用这个可以吗? --------------------编程问答-------------------- --------------------编程问答--------------------
--------------------编程问答-------------------- 据我的观察,移动的USIM卡只不过是加密过的SIM卡,加个卡贴完全可以装在普通手机上
用的网络一模一样,不可能从网络区分 --------------------编程问答-------------------- 除
补充:Java , J2ME