Android中TelephonyManager类来获取imei号和其他手机信息
来源:互联网 发布:网络布线的工作量 编辑:程序博客网 时间:2024/05/14 08:09
在AndroidManifest.xml文件中增加
<!--允许读取电话状态SIM的权限-->
<uses-permissionandroid: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(softwareversion) for GSM phones.
* Return null if the software versionis 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>
/**
* 获取数据连接状态
*/
<!--允许读取电话状态SIM的权限-->
<uses-permissionandroid: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(softwareversion) for GSM phones.
* Return null if the software versionis 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 0
- Android系统中使用TelephonyManager类来获取imei号和其他手机信息
- android系统中使用TelephonyManager类来获取imei号和其他手机信息
- Android中TelephonyManager类来获取imei号和其他手机信息
- android系统中使用TelephonyManager类来获取imei号和其他手机信息
- android系统中使用TelephonyManager类来获取imei号和其他手机信息
- TelephonyManager类来获取imei号和其他手机信息
- android使用TelephonyManager获取imei和其他手机信息
- android系统中使用TelephonyManager类来获取imsi号和其他手机信息
- android系统中获取imei号和其他手机信息
- 在android系统中获取imei号和其他手机信息
- 【TelephonyManager】android 获取手机IMEI号码
- android 获取 imei号码及手机硬件其他信息
- android 获取 imei号码 以及其他手机信息
- Android 获取手机IMEI 和 IMSI 号
- TelephonyManager获取手机信息
- TelephonyManager类,获取手机和sim卡信息接口
- Android获取手机信息--TelephonyManager类和PhoneStateListener类详解及其使用
- android 获取手机硬件imei信息
- PC值=当前程序执行位置+8
- vs2010无法连接到asp.net developer server
- 小团队git开发模式
- 文件的格式与文件扩展名指定的格式不一致的解决办法
- 第一份工作
- Android中TelephonyManager类来获取imei号和其他手机信息
- PHP代码网站如何防范SQL注入漏洞攻击建议
- mysql 日期操作 增减天数、时间转换、时间戳
- this database does not have a valid owner 的解决办法--【叶子】
- elasticsearch之modeling your data(not flat)--nested objects
- 0基础学java的参照文档
- 在Unity中引用Dll的两种方法
- 两个同步表的字段复制.Oracle.
- CoreGraphics中的 CGAffineTransform的讲解