Android-获取sim卡状态
来源:互联网 发布:重庆网站外包优化 编辑:程序博客网 时间:2024/05/19 02:45
在工模测试中需要频繁读取sim的状态,包括是否插入sim卡、运营商信息、sim卡类型等,方法如下。
/*读取sim卡*/public String readSIMCard() { TelephonyManager tm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);//取得相关系统服务 StringBuffer sb = new StringBuffer(); switch(tm.getSimState()){ //getSimState()取得sim的状态 有下面6中状态 case TelephonyManager.SIM_STATE_ABSENT :sb.append("无卡");break; case TelephonyManager.SIM_STATE_UNKNOWN :sb.append("未知状态");break; case TelephonyManager.SIM_STATE_NETWORK_LOCKED :sb.append("需要NetworkPIN解锁");break; case TelephonyManager.SIM_STATE_PIN_REQUIRED :sb.append("需要PIN解锁");break; case TelephonyManager.SIM_STATE_PUK_REQUIRED :sb.append("需要PUK解锁");break; case TelephonyManager.SIM_STATE_READY :sb.append("良好");break; } if(tm.getSimSerialNumber()!=null){ sb.append("@" + tm.getSimSerialNumber().toString()); }else{ sb.append("@无法取得SIM卡号"); } if(tm.getSimOperator().equals("")){ sb.append("@无法取得供货商代码"); }else{ sb.append("@" + tm.getSimOperator().toString()); } if(tm.getSimOperatorName().equals("")){ sb.append("@无法取得供货商"); }else{ sb.append("@" + tm.getSimOperatorName().toString()); } if(tm.getSimCountryIso().equals("")){ sb.append("@无法取得国籍"); }else{ sb.append("@" + tm.getSimCountryIso().toString()); } if (tm.getNetworkOperator().equals("")) { sb.append("@无法取得网络运营商"); } else { sb.append("@" + tm.getNetworkOperator()); } if (tm.getNetworkOperatorName().equals("")) { sb.append("@无法取得网络运营商名称"); } else { sb.append("@" + tm.getNetworkOperatorName()); } if (tm.getNetworkType() == 0) { sb.append("@无法取得网络类型"); } else { sb.append("@" + tm.getNetworkType()); } return sb.toString(); }/*获取sim卡信息*/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; }
0 0
- Android 获取SIM卡状态
- Android获取SIM卡状态
- android获取SIM卡状态
- Android-获取sim卡状态
- android,sim卡,TelephonyManager,手机SIM卡状态的获取
- 获取Android手机中SIM卡状态
- Android获取手机SIM卡状态
- android 获取SIM卡状态全过程
- android SIM卡状态
- android SIM卡状态
- TelephonyManager类:Android手机及Sim卡状态的获取
- TelephonyManager类:Android手机及Sim卡状态的获取
- TelephonyManager类:Android手机及Sim卡状态的获取
- Android记录3--ExpandableListView使用+获取SIM卡状态信息
- android 手机及Sim卡状态的获取
- android-关于SIM卡状态信息获取类IccCardConstants.java
- android sim卡 TelephonyManager类:Android手机及Sim卡状态的获取
- Android - 判断SIM卡状态
- PyQt5 Ubuntu 16.04/14.04 环境配置
- java 虚拟机设置 Xms Xmx PermSize MaxPermSize
- Spring集成rabbitMQ
- 利用jdk自带keytool生成ssl证书,搭建tomcat+https协议
- 互联网开发模式的经验之谈
- Android-获取sim卡状态
- 微信开通状态检测工具(免验证码版)运行原理
- linux分区及文件系统
- codeSourcery交叉编译环境
- 基于NSURLSession 的网络请求
- API接口大全
- QWT编译以及交叉编译的问题
- hdu2057 A + B Again
- Oracle忘记用户名密码 或 账户锁定