核心代码:
Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getDeviceId();1.加入权限
在manifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
2.代码
1 /** 2 * 3 * 4 *创建日期 2010-4-29 下午05:02:47 5 * 6 */ 7 package net.sunniwell.app; 8 import android.app.Activity; 9 import android.os.Bundle; 10 import android.telephony.CellLocation; 11 import android.telephony.PhoneStateListener; 12 import android.telephony.TelephonyManager; 13 public class TelManager extends Activity { 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); 19 20 /* 21 * 电话状态: 22 * 1.tm.CALL_STATE_IDLE=0 无活动 23 * 2.tm.CALL_STATE_RINGING=1 响铃 24 * 3.tm.CALL_STATE_OFFHOOK=2 摘机 25 */ 26 tm.getCallState();//int 27 28 /* 29 * 电话方位: 30 * 31 */ 32 tm.getCellLocation();//CellLocation 33 34 /* 35 * 唯一的设备ID: 36 * GSM手机的 IMEI 和 CDMA手机的 MEID. 37 * Return null if device ID is not available. 38 */ 39 tm.getDeviceId();//String 40 41 /* 42 * 设备的软件版本号: 43 * 例如:the IMEI/SV(software version) for GSM phones. 44 * Return null if the software version is not available. 45 */ 46 tm.getDeviceSoftwareVersion();//String 47 48 /* 49 * 手机号: 50 * GSM手机的 MSISDN. 51 * Return null if it is unavailable. 52 */ 53 tm.getLine1Number();//String 54 55 /* 56 * 附近的电话的信息: 57 * 类型:List58 * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES 59 */ 60 tm.getNeighboringCellInfo();//List 61 62 /* 63 * 获取ISO标准的国家码,即国际长途区号。 64 * 注意:仅当用户已在网络注册后有效。 65 * 在CDMA网络中结果也许不可靠。 66 */ 67 tm.getNetworkCountryIso();//String 68 69 /* 70 * MCC+MNC(mobile country code + mobile network code) 71 * 注意:仅当用户已在网络注册时有效。 72 * 在CDMA网络中结果也许不可靠。 73 */ 74 tm.getNetworkOperator();//String 75 76 /* 77 * 按照字母次序的current registered operator(当前已注册的用户)的名字 78 * 注意:仅当用户已在网络注册时有效。 79 * 在CDMA网络中结果也许不可靠。 80 */ 81 tm.getNetworkOperatorName();//String 82 83 /* 84 * 当前使用的网络类型: 85 * 例如: NETWORK_TYPE_UNKNOWN 网络类型未知 0 86 NETWORK_TYPE_GPRS GPRS网络 1 87 NETWORK_TYPE_EDGE EDGE网络 2 88 NETWORK_TYPE_UMTS UMTS网络 3 89 NETWORK_TYPE_HSDPA HSDPA网络 8 90 NETWORK_TYPE_HSUPA HSUPA网络 9 91 NETWORK_TYPE_HSPA HSPA网络 10 92 NETWORK_TYPE_CDMA CDMA网络,IS95A 或 IS95B. 4 93 NETWORK_TYPE_EVDO_0 EVDO网络, revision 0. 5 94 NETWORK_TYPE_EVDO_A EVDO网络, revision A. 6 95 NETWORK_TYPE_1xRTT 1xRTT网络 7 96 */ 97 tm.getNetworkType();//int 98 99 /* 100 * 手机类型: 101 * 例如: PHONE_TYPE_NONE 无信号 102 PHONE_TYPE_GSM GSM信号 103 PHONE_TYPE_CDMA CDMA信号 104 */ 105 tm.getPhoneType();//int 106 107 /* 108 * Returns the ISO country code equivalent for the SIM provider's country code. 109 * 获取ISO国家码,相当于提供SIM卡的国家码。 110 * 111 */ 112 tm.getSimCountryIso();//String 113 114 /* 115 * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. 116 * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字. 117 * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). 118 */ 119 tm.getSimOperator();//String 120 121 /* 122 * 服务商名称: 123 * 例如:中国移动、联通 124 * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). 125 */ 126 tm.getSimOperatorName();//String 127 128 /* 129 * SIM卡的序列号: 130 * 需要权限:READ_PHONE_STATE 131 */ 132 tm.getSimSerialNumber();//String 133 134 /* 135 * SIM的状态信息: 136 * SIM_STATE_UNKNOWN 未知状态 0 137 SIM_STATE_ABSENT 没插卡 1 138 SIM_STATE_PIN_REQUIRED 锁定状态,需要用户的PIN码解锁 2 139 SIM_STATE_PUK_REQUIRED 锁定状态,需要用户的PUK码解锁 3 140 SIM_STATE_NETWORK_LOCKED 锁定状态,需要网络的PIN码解锁 4 141 SIM_STATE_READY 就绪状态 5 142 */ 143 tm.getSimState();//int 144 145 /* 146 * 唯一的用户ID: 147 * 例如:IMSI(国际移动用户识别码) for a GSM phone. 148 * 需要权限:READ_PHONE_STATE 149 */ 150 tm.getSubscriberId();//String 151 152 /* 153 * 取得和语音邮件相关的标签,即为识别符 154 * 需要权限:READ_PHONE_STATE 155 */ 156 tm.getVoiceMailAlphaTag();//String 157 158 /* 159 * 获取语音邮件号码: 160 * 需要权限:READ_PHONE_STATE 161 */ 162 tm.getVoiceMailNumber();//String 163 164 /* 165 * ICC卡是否存在 166 */ 167 tm.hasIccCard();//boolean 168 169 /* 170 * 是否漫游: 171 * (在GSM用途下) 172 */ 173 tm.isNetworkRoaming();// 174 175 176 177 } 178 179 180 }
posted on 2013-07-18 14:51 阅读( ...) 评论( ...)