Android中与电话功能相关的类是 TelephonyManager ,此类中定义了很多常量,以下分类说明
获取以下信息需要在AndroidManifest.xml中指定权限
一、 数据连接状态
获取数据连接状态:int getDataState()
获取数据活动状态:int getDataActivity()
常用的有这几个:
int DATA_ACTIVITY_IN 数据连接状态:活动,正在接受数据
int DATA_ACTIVITY_OUT 数据连接状态:活动,正在发送数据
int DATA_ACTIVITY_INOUT 数据连接状态:活动,正在接受和发送数据
int DATA_ACTIVITY_NONE 数据连接状态:活动,但无数据发送和接受
int DATA_CONNECTED 数据连接状态:已连接
int DATA_CONNECTING 数据连接状态:正在连接
int DATA_DISCONNECTED 数据连接状态:断开
int DATA_SUSPENDED 数据连接状态:暂停
二、 移动网络类型
获取网络类型:int getNetworkType()
常用的有这几个:
int NETWORK_TYPE_CDMA 网络类型为CDMA
int NETWORK_TYPE_EDGE 网络类型为EDGE
int NETWORK_TYPE_EVDO_0 网络类型为EVDO0
int NETWORK_TYPE_EVDO_A 网络类型为EVDOA
int NETWORK_TYPE_GPRS 网络类型为GPRS
int NETWORK_TYPE_HSDPA 网络类型为HSDPA
int NETWORK_TYPE_HSPA 网络类型为HSPA
int NETWORK_TYPE_HSUPA 网络类型为HSUPA
int NETWORK_TYPE_UMTS 网络类型为UMTS
在中国,联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EGDE,电信的2G为CDMA,电信的3G为EVDO
三、 手机制式类型
获取手机制式:int getPhoneType()
int PHONE_TYPE_CDMA 手机制式为CDMA,电信
int PHONE_TYPE_GSM 手机制式为GSM,移动和联通
int PHONE_TYPE_NONE 手机制式未知
四、 SIM卡状态
获取SIM卡状态:int getSimState()
int SIM_STATE_ABSENT SIM卡未找到
int SIM_STATE_NETWORK_LOCKED SIM卡网络被锁定,需要Network PIN解锁
int SIM_STATE_PIN_REQUIRED SIM卡PIN被锁定,需要User PIN解锁
int SIM_STATE_PUK_REQUIRED SIM卡PUK被锁定,需要User PUK解锁
int SIM_STATE_READY SIM卡可用
int SIM_STATE_UNKNOWN SIM卡未知
五、其它信息
String getSimCountryIso()
返回SIM卡提供商的国家代码
String getNetworkCountryIso()
返回ISO标准的国家码,即国际长途区号
String getSimOperator()
String getNetworkOperator()
返回MCC+MNC代码 (SIM卡运营商国家代码和运营商网络代码)(IMSI)
String getSimOperatorName()
String getNetworkOperatorName()
返回移动网络运营商的名字(SPN)
String getSubscriberId()
返回IMSI,即国际移动用户识别码
String getDeviceId()
如果是GSM网络,返回IMEI;如果是CDMA网络,返回MEID
String getSimSerialNumber()
返回SIM卡的序列号(IMEI)
String getLine1Number()
返回手机号码,对于GSM网络来说即MSISDN
boolean isNetworkRoaming()
返回手机是否处于漫游状态
解释:
IMSI是国际移动用户识别码的简称(International Mobile Subscriber Identity)
IMSI共有15位,其结构如下:
MCC+MNC+MIN
MCC:Mobile Country Code,移动国家码,共3位,中国为460;
MNC:Mobile NetworkCode,移动网络码,共2位
在中国,移动的代码为电00和02,联通的代码为01,电信的代码为03
合起来就是(也是Android手机中APN配置文件中的代码):
中国移动:46000 46002
中国联通:46001
中国电信:46003
举例,一个典型的IMSI号码为460030912121001
IMEI是International Mobile Equipment Identity (国际移动设备标识)的简称
IMEI由15位数字组成的”电子串号”,它与每台手机一一对应,而且该码是全世界唯一的
其组成为:
1. 前6位数(TAC)是”型号核准号码”,一般代表机型
2. 接着的2位数(FAC)是”最后装配号”,一般代表产地
3. 之后的6位数(SNR)是”串号”,一般代表生产顺序号
4. 最后1位数(SP)通常是”0″,为检验码,目前暂备用
分享到:
相关推荐
Android 获取手机信息 Android 操作系统提供了多种方式来获取手机信息,包括获取安装的应用信息、手机可用内存和总内存、手机 CPU 信息等。在本文中,我们将详细介绍如何使用 Java 代码来获取这些信息。 获取安装...
在Android开发中,获取手机信息是一项常见的任务,这包括设备硬件信息、系统版本信息以及用户数据等。这篇博客主要探讨了如何通过Android SDK提供的API来获取这些信息。下面将详细介绍这个话题。 首先,我们可以...
在Android平台上,获取手机用户绑定的手机号码是一个常见的需求,特别是在开发需要用户验证或个性化服务的应用时。然而,由于隐私保护政策和不同运营商的限制,直接获取手机号码并不总是可行的。本文将详细介绍如何...
在Android平台上,获取手机短信是一项常见的功能,尤其在开发与短信相关的应用时,如验证码接收、备份或管理短信等。Android系统提供了丰富的API接口供开发者使用,使得我们能够方便地读取、操作甚至监听短信的变化...
在Android平台上,获取手机的号码和运营商信息是常见的需求,特别是在开发涉及通信功能的应用时。以下是如何在Android中实现这一功能的详细步骤和相关知识点。 首先,为了获取手机号码和运营商信息,我们需要使用`...
获取手机信息主要涉及到的是应用程序框架层和应用程序层的部分。 1. **手机版本号**: 手机版本号通常指的是设备的硬件型号和固件版本。在Android中,我们可以通过`Build`类获取这些信息。例如,`Build.MODEL`可以...
《Android获取手机信息的工具类详解》 在Android开发中,常常需要获取手机的各种信息,如设备ID、电话号码、网络状态等。为了方便开发者快速便捷地调用这些功能,通常会将相关代码封装成一个工具类。本文将详细介绍...
以上知识点是Android开发中获取手机信息的基础,开发者可以根据需要结合这些API和类来实现相应的功能。在实际应用中,还需要考虑权限管理、用户隐私保护以及性能优化等问题。例如,获取敏感信息时必须确保已获取用户...
// 权限已获得,可以进行获取手机号的操作 } else { // 用户拒绝了权限请求,处理这种情况 } } } ``` 需要注意的是,从Android 10(API级别29)开始,获取IMEI和其他设备识别号受到了更严格的限制。除非你的...
1. **设备型号**:通过`Build.MODEL`获取手机的品牌和型号,例如“Samsung Galaxy S21”。 2. **硬件制造商**:使用`Build.MANUFACTURER`可以获取手机的制造商,如“Samsung”。 3. **Android版本**:`Build....
在Android平台上,获取手机信息是开发中常见的需求,这包括硬件信息、系统信息以及应用程序信息。下面我们将详细探讨如何在Android应用中实现这些功能。 首先,我们从获取应用信息开始。在Android中,`...
在Android系统中,获取手机的总内存和可用内存信息是开发者和普通用户都可能需要的操作。这涉及到系统层面的信息查询,通常需要通过编程接口(API)或者使用Android Debug Bridge(ADB)工具来实现。以下是对这个...
Android获取手机sim卡信息,包含手机平台,运营商等信息。
Android 开发中获取手机内存信息的方式 Android 开发中获取手机内存信息是非常重要的,了解手机的内存信息可以帮助开发者更好地优化应用程序的性能和资源利用率。在 Android 开发中,有时候我们想获取手机的一些...
Android如何获取手机联系人信息,本文为大家揭晓。 获取手机联系人信息步骤: 1、获取 ContentResolver ContentResolver resolver = getContentResolver(); 2、resolver.query(*)查询信息 查询手机联系人的URI...
Android获取手机本机号码的实现方法 反射TelephoneManager 获取本机号码,注意一下提供的接口有的SIM卡没写是获取不到的,该接口只适配Android5.0以上版本 public String getMsisdn(int slotId) { return ...
在Android平台上,获取手机号码归属地是一项常见的需求,特别是在开发涉及通信或用户验证的应用时。本文将详细讲解如何实现这一功能。 首先,我们要明白手机号码的归属地信息通常包括运营商(如中国移动、中国联通...
在Android平台上,获取手机应用信息是一项常见的任务,这通常涉及到读取系统中的应用程序列表,包括应用的名称、图标、包名、版本号等信息。在Android开发中,我们可以使用Android提供的Content Provider和...
在Android平台上,获取手机信息是开发过程中常见的需求之一。在这个"android手机信息获取程序"项目中,开发者显然是针对新手入门,使用Android Studio作为集成开发环境(IDE)来编写代码,专注于短信的获取功能。...