判断SIM卡状态,获取SIM卡信息
2015-11-05 18:07
661 查看
public String resdSIM(){
//取得相关服务
TelephonyManager tm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
StringBuffer sb = new StringBuffer();
switch(tm.getSimState()){
case TelephonyManager.SIM_STATE_ABSENT: //无卡
sb.append("无卡");
break;
case TelephonyManager.SIM_STATE_UNKNOWN: //未知状态
sb.append("未知状态");
break;
case TelephonyManager.SIM_STATE_NETWORK_LOCKED: //需要networkpin解锁
sb.append("需要networkpin解锁");
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED: // 需要pin解锁
sb.append("需要pin解锁");
break;
case TelephonyManager.SIM_STATE_PUK_REQUIRED: //需要puk解锁
sb.append("需要puk解锁");
break;
case TelephonyManager.SIM_STATE_READY: //良好
sb.append("良好");
break;
}
以下代码需要 READ_PHONE_STATE 权限
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
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.getSimOperator().toString());
}
if(tm.getSimCountryIso().equals("")){
sb.append("@无法取得国籍");
}else{
sb.append("@" + tm.getSimCountryIso());
}
if(tm.getNetworkOperator().equals("")){
sb.append("@无法取得网络运营商");
}else{
sb.append("@" + tm.getNetworkOperator().toString());
}
if(tm.getNetworkOperatorName().equals("")){
sb.append("@无法取得网络运营商名称");
}else{
sb.append("@" + tm.getNetworkOperatorName().toString());
}
if(tm.getNetworkType() == 0){
sb.append("@无法取得网络类型");
}else{
sb.append("@" + tm.getNetworkType());
}
return sb.toString();
}
//取得相关服务
TelephonyManager tm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
StringBuffer sb = new StringBuffer();
switch(tm.getSimState()){
case TelephonyManager.SIM_STATE_ABSENT: //无卡
sb.append("无卡");
break;
case TelephonyManager.SIM_STATE_UNKNOWN: //未知状态
sb.append("未知状态");
break;
case TelephonyManager.SIM_STATE_NETWORK_LOCKED: //需要networkpin解锁
sb.append("需要networkpin解锁");
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED: // 需要pin解锁
sb.append("需要pin解锁");
break;
case TelephonyManager.SIM_STATE_PUK_REQUIRED: //需要puk解锁
sb.append("需要puk解锁");
break;
case TelephonyManager.SIM_STATE_READY: //良好
sb.append("良好");
break;
}
以下代码需要 READ_PHONE_STATE 权限
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
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.getSimOperator().toString());
}
if(tm.getSimCountryIso().equals("")){
sb.append("@无法取得国籍");
}else{
sb.append("@" + tm.getSimCountryIso());
}
if(tm.getNetworkOperator().equals("")){
sb.append("@无法取得网络运营商");
}else{
sb.append("@" + tm.getNetworkOperator().toString());
}
if(tm.getNetworkOperatorName().equals("")){
sb.append("@无法取得网络运营商名称");
}else{
sb.append("@" + tm.getNetworkOperatorName().toString());
}
if(tm.getNetworkType() == 0){
sb.append("@无法取得网络类型");
}else{
sb.append("@" + tm.getNetworkType());
}
return sb.toString();
}
相关文章推荐
- 【cocos2d-x不要在生产白片步骤】第二项:制作Block分类
- sql存储过程
- TextureView实现视频界面动态显示红色方框
- HUST1010——The Minimum Length(KMP)
- CDH学习记录
- Error connecting to graphical console: Error initializing USB support: Other errors[-99]
- Laravel 5.1 源码阅读笔记
- 一道关于内存分配的笔试题
- sql视图
- Linux环境下安卓SDK和ADT下载地址下载地址
- xss漏洞挖掘小结
- 第十例:获取手机号获取本机通讯录中存储的姓名
- cobol和java区别
- Java线程的5个使用技巧
- 使用代码对数据库进行操作
- 用unity surface shader 重新渲染dota2 模型
- struts2之文件上传功能的实现
- 给互联网来个保险柜,再加把锁
- Java 利用最小堆解决topK
- view的状态如果是不可见的(如:invisible),那么是不会触发onDraw方法进行绘制,基于该view动画也不会执行