核心代码:
Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getDeviceId();
1.加入权限
在manifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
2.代码
/**
*
*
*创建日期 2010-4-29 下午05:02:47
*
*/
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中获取IMEI号码以及获取手机版本信息的方法。 1. 获取IMEI号码 在Android中,我们可以通过`TelephonyManager`类来获取IMEI号码。首先,需要在AndroidManifest.xml文件中添加以下权限: ...
### Android获取IMEI号:详解TelephonyManager类与设备识别码 在Android开发中,获取设备的唯一识别码(如IMEI号)是一项常见的需求,主要用于设备标识、数据分析或安全验证等场景。IMEI(International Mobile ...
核心代码:Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();1.加入权限在manifest.xml文件中要添加 <uses android:name=”android.permission.READ_PHONE_STATE”>2.代码 代码如下:...
在本文中,我们将详细探讨如何在Android应用中获取IMEI码,并通过一个名为“Etzmico_GetIMEIInfo”的示例项目进行演示。 首先,获取IMEI码在Android的不同版本中可能会有所不同,因为出于隐私保护考虑,Google在...
本文将详细介绍如何在没有root权限的情况下,通过USB连接使Android设备与PC进行通信,以获取IMEI号。 首先,我们需要了解ADB(Android Debug Bridge),这是一个命令行工具,用于与Android设备进行通信。ADB允许...
在android系统中获取imei号,手机号等。
Android 操作系统提供了多种方法来获取手机的 IMSI、IMEI、序列号和手机号,这些信息对于移动应用程序的开发和维护非常重要。本文将详细介绍 Android 平台获取手机 IMSI、IMEI、序列号和手机号的方法。 1. 获取 ...
在Android手机中刷新IMEI号码是一项重要的操作,通常在刷入Stock ROM(固件)之后进行,以解决一系列问题,如手机频繁死机、卡在启动界面、需要更新软件或解锁忘记的锁屏图案。IMEI是国际移动设备识别码的缩写,是...
由于涉及到用户的隐私数据,获取IMEI或MEID需要在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.READ_PHONE_STATE" /> ``` 没有这个权限,应用程序无法访问...
在C#编程环境中,如果你需要在Windows Phone、Android或iOS等平台上获取IMEI,你需要根据不同的平台实现不同的方法。本篇文章将详细讲解如何在C#中获取IMEI,主要针对Windows Phone和Android平台。 对于Windows ...
以上代码示例适用于Android应用开发,确保在尝试获取敏感信息之前先获得必要的权限。在实际开发中,还要考虑用户隐私政策和合规性要求,以及适当地处理权限请求的拒绝情况。在PermissionsApai项目中,这些功能可能被...
在Android系统中,获取设备的IMEI...总之,Android应用可以通过`TelephonyManager`获取IMEI和电话号码,但需注意权限管理和隐私保护。在实际开发中,确保遵守相关规定,以避免可能的法律风险和用户体验问题。
另一种方式是使用`TelephonyManager`的`getDeviceId()`,获取IMEI(国际移动设备识别码)对于GSM设备。 8. **IMEI**:IMEI是设备的国际移动设备识别码,适用于GSM网络,通过`TelephonyManager`的`getDeviceId()`...
需要注意的是,从Android 10(API级别29)开始,获取IMEI和其他设备识别号受到了更严格的限制。除非你的应用是默认的电话应用或者具有特定的设备管理器权限,否则可能无法获取这些信息。 此外,获取手机号码的另一...
在Android系统中,开发者可以通过调用`TelephonyManager`类的`getDeviceId()`方法来获取IMEI。例如: ```java TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_...
对于摩托罗拉(Motorola)手机而言,可以通过调用`System.getProperty`方法来获取IMEI信息,具体实现如下: ```java String imei = System.getProperty("IMEI"); ``` 如果上述方法未能成功获取IMEI,则可以尝试...
在Android系统中,IMEI主要用于追踪、识别和注册设备,它由15位数字组成,包含了制造商代码、类型批准代码、序列号以及网络识别码等信息。 在Android设备上,IMEI通常在设备的包装盒、电池下面或设置>关于手机>状态...