`

【转】Android手机及Sim卡状态的获取

 
阅读更多
TelephonyManager这个类很有用,可以得到很多关于手机和Sim卡的信息。 
直接上注释后的代码,请享用
package net.sunniwell.app;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.CellLocation;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
public class TelManager extends Activity {
@Override 
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
  
  /*
   * 电话状态:
   * 1.tm.CALL_STATE_IDLE=0            无活动
   * 2.tm.CALL_STATE_RINGING=1     响铃
   * 3.tm.CALL_STATE_OFFHOOK=2  摘机
   */ 
  tm.getCallState(); //int 
  
  /*
   * 电话方位:
   */ 
  tm.getCellLocation(); //CellLocation 
  
  /*
   * 唯一的设备ID:
   * GSM手机的 IMEI 和 CDMA手机的 MEID. 
   * Return null if device ID is not available.
   */ 
  tm.getDeviceId(); //String 
  
  /*
   * 设备的软件版本号:
   * 例如:the IMEI/SV(software version) for GSM phones.
   * Return null if the software version is not available. 
   */ 
  tm.getDeviceSoftwareVersion(); //String 
  
  /*
   * 手机号:
   * GSM手机的 MSISDN.
   * Return null if it is unavailable. 
   */ 
  tm.getLine1Number(); //String 
  
  /*
   * 附近的电话的信息:
   * 类型:List<NeighboringCellInfo> 
   * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES
   */
  tm.getNeighboringCellInfo(); //List<NeighboringCellInfo>
  
  /*
   * 获取ISO标准的国家码,即国际长途区号。
   * 注意:仅当用户已在网络注册后有效。
   *       在CDMA网络中结果也许不可靠。
   */ 
  tm.getNetworkCountryIso(); //String 
  
  /*
   * MCC+MNC(mobile country code + mobile network code)
   * 注意:仅当用户已在网络注册时有效。
   *    在CDMA网络中结果也许不可靠。
   */ 
  tm.getNetworkOperator(); //String 
  
  /*
   * 按照字母次序的current registered operator(当前已注册的用户)的名字
   * 注意:仅当用户已在网络注册时有效。
   *    在CDMA网络中结果也许不可靠。
   */ 
  tm.getNetworkOperatorName(); //String 
  
  /*
   * 当前使用的网络类型:
   * 例如: NETWORK_TYPE_UNKNOWN  网络类型未知  0
   * NETWORK_TYPE_GPRS     GPRS网络  1
   * NETWORK_TYPE_EDGE     EDGE网络  2
   * NETWORK_TYPE_UMTS     UMTS网络  3
   * NETWORK_TYPE_HSDPA    HSDPA网络  8 
   * NETWORK_TYPE_HSUPA    HSUPA网络  9
   * NETWORK_TYPE_HSPA     HSPA网络  10
   * NETWORK_TYPE_CDMA     CDMA网络,IS95A 或 IS95B.  4
   * NETWORK_TYPE_EVDO_0   EVDO网络, revision 0.  5
   * NETWORK_TYPE_EVDO_A   EVDO网络, revision A.  6
   * NETWORK_TYPE_1xRTT    1xRTT网络  7
   */ 
  tm.getNetworkType(); //int 
  
  /*
   * 手机类型:
   * 例如: PHONE_TYPE_NONE  无信号
   * PHONE_TYPE_GSM   GSM信号
   * PHONE_TYPE_CDMA  CDMA信号
   */ 
  tm.getPhoneType(); //int 
  
  /*
   * Returns the ISO country code equivalent for the SIM provider's country code.
   * 获取ISO国家码,相当于提供SIM卡的国家码。
   */ 
  tm.getSimCountryIso(); //String 
  
  /*
   * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.
   * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.
   * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
   */ 
  tm.getSimOperator(); //String 
  
  /*
   * 服务商名称:
   * 例如:中国移动、联通
   * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
   */ 
  tm.getSimOperatorName(); //String 
  
  /*
   * SIM卡的序列号:
   * 需要权限:READ_PHONE_STATE
   */ 
  tm.getSimSerialNumber(); //String 
  
  /*
   * SIM的状态信息:
   *  SIM_STATE_UNKNOWN             未知状态 0
   *  SIM_STATE_ABSENT                 没插卡 1
   *  SIM_STATE_PIN_REQUIRED     锁定状态,需要用户的PIN码解锁 2
   *  SIM_STATE_PUK_REQUIRED    锁定状态,需要用户的PUK码解锁 3
   *  SIM_STATE_NETWORK_LOCKED   锁定状态,需要网络的PIN码解锁 4
   *  SIM_STATE_READY            就绪状态 5
   */ 
  tm.getSimState(); //int 
  
  /*
   * 唯一的用户ID:
   * 例如:IMSI(国际移动用户识别码) for a GSM phone.
   * 需要权限:READ_PHONE_STATE
   */ 
  tm.getSubscriberId(); //String 
  
  /*
   * 取得和语音邮件相关的标签,即为识别符
   * 需要权限:READ_PHONE_STATE
   */ 
  tm.getVoiceMailAlphaTag(); //String 
  
  /*
   * 获取语音邮件号码:
   * 需要权限:READ_PHONE_STATE
   */ 
  tm.getVoiceMailNumber(); //String 
  
  /*
   * ICC卡是否存在
   */ 
  tm.hasIccCard(); //boolean 
  
  /*
   * 是否漫游:
   * (在GSM用途下)
   */ 
  tm.isNetworkRoaming(); // 
  
}
}
分享到:
评论

相关推荐

    Android 获取移动网络及SIM卡运营商信息.rar

    Android 获取移动网络及SIM卡运营商信息,可获取到SIM卡国别、SIM卡序列号、SIM卡状态、运营商代号、手机制式等信息。获取各个数据项的值:  listValues.add(tm.getDeviceId());//获取设备编号  listValues.add(tm...

    Android 读取SIM卡信息代码(完整工程)

    读取SIM 信息。 读取数据连接状态等相关信息。

    Android例子源码——GPS、GPRS、WIFI状态判断+SIM卡信息读取(获取设备编号、软件版本、运营商代号、运营商名称、手机制式、设备位置等).zip

    Android例子源码——GPS、GPRS、WIFI状态判断+SIM卡信息读取(获取设备编号、软件版本、运营商代号、运营商名称、手机制式、设备位置等).zip

    Android手机管理器源码,检测检测手机运营商及SIM卡信息

    SIM卡 TelephonyManager android 手机程序源代码,检测手机运营商及SIM卡信息,是Android系统的手机管理器,可检测出您手机的设备号、软件版本、网络运营商代号及名称、手机网络类型、手机所在位置、Sim卡状态和Sim...

    Android4.X中SIM卡信息初始化过程详解

    1.RIL 和 UiccController 建立监听关系 ,SIM卡状态发生变化时,UiccController 第一个去处理。 Phone 应用初始化 Phone 对象时会建立一个 RIL 和UiccController 的监听关系:UiccController 监听 RIL,相关代码如下 ...

    android手机安全卫士

    根据预设参数, 判断手机是否被盗,根据自定义协议发送手机中sim卡的信息和手机的位置信息给安全号码. 可以自定义特殊号码,拨号快速进入手机防盗功能,可远程通过短信指令,给手机设置锁屏密码, 远程锁定手机屏幕, 远程...

    GPS状态判断+SIM卡信息读取

    GPS状态判断+SIM卡信息读取可以获取设备编号、软件版本、运营商代号、运营商名称、手机制式、设备位置等,不过在我的双卡机国产大山寨上就只能获取SIM卡1的信息。获取不到SIM卡2。第二个例子是一个判断当前GPS状态的...

    手机卡SIM的IMEI及运营商读取功能

    因为如果是双卡双待Android手机,API只能读取缺省设置的信息,另外一个SIM卡的信息无法读取到。 利用反射机制,加载电话管理类,获取方法及其输入参数,通过反射方法调用获取信息。 可以获取运营商、在线状态(无线...

    java_获取App应用系统基本信息的工具类的标准代码_android

    获取手机状态(0:无活动 1:响铃 2:待机) 获得手机方位 获得设备的软件版本号 获得SIM卡提供的移动国家码和移动网络码 服务商名称 唯一的用户ID 获取WindowManager对象 获取屏幕管理类 获取屏幕宽度和高度并返回...

    Android开发应用实战详解源代码

    5.15.1 sim卡简介 5.15.2 实现原理 5.15.3 具体实现 5.16 触屏拨号 5.17 获取正在运行的程序 5.18 变换屏幕的方向 5.19 获取设备信息 5.20 小结 第6章 手机自动服务 6.1 实现短信提醒 6.2 剩余电量提醒 6.3 短信群发...

    《Google Android SDK开发范例大全(第3版)》.pdf

     《google android sdk开发范例大全(第3版)》在上一版的基础上,以android手机应用程序开发(采用android sdk 2.3.3)为主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,为读者提高程序设计...

    Google Android SDK开发范例大全(第3版) 1/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版) 4/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版) 3/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版) 5/5

    完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能。 系统服务及研发的...

    Google Android SDK开发范例大全(第3版)part2

     《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)为主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,为读者提高程序...

    Android开发人员不得不收集的代码

    getAndroidID : 获取设备 AndroidID getMacAddress : 获取设备 MAC 地址 getManufacturer : 获取设备厂商 getModel : 获取设备型号 shutdown : 关机 reboot : 重启 reboot2Recovery : 重启到 recovery reboot2...

    google android sdk开发范例大全 第二版 PDF 光盘代码

     5.14 获取手机现存桌面   5.15 文件资源 .管.理. 器再进化   5.16 取得目前File与Cache的路径   5.17 打开/关闭WiFi服务   5.18 取得SIM卡内的信息   5.19 调用拨号按钮   5.20 DPAD按键...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--android 获取sd卡状态 |--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 |--android 重启 |--android中anim文件特效 |--app信息menifest获取(如版本号) |--AsyncQueryHandler...

Global site tag (gtag.js) - Google Analytics