android系统中使用TelephonyManager类来获取imei号和其他手机信息

在AndroidManifest.xml文件中增加
<!--允许读取电话状态SIM的权限-->
<uses-permission 
android:name="android.permission.READ_PHONE_STATE" />
代码如下:
private 
void getSystemPhoneMessage(){
  
  TelephonyManager 
telephonyManager = 
(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
  //手机串号:GSM手机的 
IMEI 和 CDMA手机的 MEID. 

  String deviceID = telephonyManager.getDeviceId(); 


  //手机号(有些手机号无法获取,是因为运营商在SIM中没有写入手机号)

  String tel = telephonyManager.getLine1Number(); 


  //获取手机SIM卡的序列号

  String imei =telephonyManager.getSimSerialNumber(); 


  //获取客户id,在gsm中是imsi号

  String imsi =telephonyManager.getSubscriberId();


  //电话方位

  CellLocation str = telephonyManager.getCellLocation(); 


  //运营商名称,注意:仅当用户已在网络注册时有效,在CDMA网络中结果也许不可靠

  String networkoperatorName = telephonyManager.getNetworkOperatorName(); 


  //取得和语音邮件相关的标签,即为识别符

  String voiceMail = telephonyManager.getVoiceMailAlphaTag(); 


  //获取语音邮件号码:

  String voiceMailNumber = telephonyManager.getVoiceMailNumber(); 


  //获取ISO国家码,相当于提供SIM卡的国家码。
  String  simCountryIso = telephonyManager.getSimCountryIso();
  
  /**
  
* 电话状态:
  
* 1.tm.CALL_STATE_IDLE=0          无活动
  
* 2.tm.CALL_STATE_RINGING=1  响铃
  
* 3.tm.CALL_STATE_OFFHOOK=2  摘机
  
*/
  int  callState = telephonyManager.getCallState();
  
  /**
  
* 设备的软件版本号:
  
* 例如:the IMEI/SV(software version) for GSM phones.
  
* Return null if the software version is not available. 
  
*/
  String  devicesoftware = telephonyManager.getDeviceSoftwareVersion();

  

  /**
  
* 获取ISO标准的国家码,即国际长途区号。
  
* 注意:仅当用户已在网络注册后有效。
  
*      在CDMA网络中结果也许不可靠。
  */  
  String  networkCountry = telephonyManager.getNetworkCountryIso();
  
  /**
  
* MCC+MNC(mobile country code + mobile network code)
  
* 注意:仅当用户已在网络注册时有效。
  
*    在CDMA网络中结果也许不可靠。
  
*/  
  String  networkoperator = telephonyManager.getNetworkOperator();
  
  /**
  
* 当前使用的网络类型:
  
* 例如: 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
  
   */  
  int 
netWorkType = telephonyManager.getNetworkType();
  
  /**
  
* 手机类型:
  
* 例如: PHONE_TYPE_NONE  无信号
  
      PHONE_TYPE_GSM   GSM信号
  
         PHONE_TYPE_CDMA  CDMA信号
  
*/
  int  phoneType = telephonyManager.getPhoneType();
  
  /**
  
* 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.
  
* SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
  */
  String  simOperator = telephonyManager.getSimOperator();
  
  /**
  
  * 服务商名称:
  
  * 例如:中国移动、联通
  
  * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).
  */
  String  simOperatorName = telephonyManager.getSimOperatorName();
  
  /**
  
* 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
  */
  int  simStat = telephonyManager.getSimState();
  
  /**
  
* ICC卡是否存在
  
*/
  boolean  bl= telephonyManager.hasIccCard();
  
   /**
  
* 是否漫游:
  
* (在GSM用途下)
  
*/
  boolean  blean = telephonyManager.isNetworkRoaming();
  /**
  
* 附近的电话的信息:
  
* 类型:List<NeighboringCellInfo> 
  
* 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES
  */
  List<NeighboringCellInfo>  list =  telephonyManager.getNeighboringCellInfo();//List<NeighboringCellInfo>
  /**
  
* 获取数据连接状态
  
*/
  int  dataActivty = telephonyManager.getDataActivity();
  
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值