TelephonyManager tm =(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
/*返回电话状态
* 1.CALL_STATE_RINGING =1 响铃
* 2.CALL_STATE_IDLE=0 无活动
* 3.CALL_STATE_OFFHOOK=2 接电话
*
*/
tm.getCallState();
/*
* 返回移动终端的位置
*/
CellLocation location=tm.getCellLocation();
/*
* 返回数据的活动状态
* DATA_ACTIVITY_IN 数据连接状态:活动,正在接受数据
* DATA_ACTIVITY_OUT 数据连接状态:活动,正在发送数据
* DATA_ACTIVITY_INOUT 数据连接状态:活动,正在接受和发送数据
* DATA_ACTIVITY_NONE 数据连接状态:活动,但无数据发送和接受
*/
tm.getDataActivity();
/*
* 获取数据连接状态 *
* DATA_CONNECTED 数据连接状态:已连接
* DATA_CONNECTING 数据连接状态:正在连接
* DATA_DISCONNECTED 数据连接状态:断开
* DATA_SUSPENDED 数据连接状态:暂停
*
*/
tm.getDataState();
/*
* 返回当前移动终端的唯一标识
* 如果是GSM网络,返回IMEI;如果是CDMA网络,返回MEID
*/
tm.getDeviceId();
/*
* 返回移动终端的软件版本,例如:GSM手机的IMEI/SV码。
*/
tm.getDeviceSoftwareVersion();
/*
* 返回手机号码,对于GSM网络来说即MSISDN
*/
tm.getLine1Number();
/*
* 国际长途区号
*/
tm.getNetworkCountryIso();
/*
* 返回MCC+MNC代码 (SIM卡运营商国家代码和运营商网络代码)(IMSI)
*/
tm.getNetworkOperator();
/*
* 返回移动网络运营商的名字(SPN)
*/
tm.getNetworkOperatorName();
/* 获取网络类型
* NETWORK_TYPE_CDMA 网络类型为CDMA
* * NETWORK_TYPE_EDGE 网络类型为EDGE
* * NETWORK_TYPE_EVDO_0 网络类型为EVDO0
* * NETWORK_TYPE_EVDO_A 网络类型为EVDOA
* * NETWORK_TYPE_GPRS 网络类型为GPRS
* * NETWORK_TYPE_HSDPA 网络类型为HSDPA
* * NETWORK_TYPE_HSPA 网络类型为HSPA
* * NETWORK_TYPE_HSUPA 网络类型为HSUPA
* * NETWORK_TYPE_UMTS 网络类型为UMTS *
* * 在中国,联通的3G为UMTS或HSDPA,
* 移动和联通的2G为GPRS或EGDE,
* 电信的2G为CDMA,电信的3G为EVDO
* */
tm.getNetworkType();
/*
* * 返回移动终端的类型 *
* * PHONE_TYPE_CDMA 手机制式为CDMA,电信
* * PHONE_TYPE_GSM 手机制式为GSM,移动和联通
* * PHONE_TYPE_NONE 手机制式未知
* */
tm.getPhoneType();
//返回SIM卡提供商的国家代码
tm.getSimCountryIso();
//返回MCC+MNC代码 (SIM卡运营商国家代码和运营商网络代码)(IMSI)
tm.getSimOperator();
tm.getSimOperatorName();
//返回SIM卡的序列号(IMEI)
tm.getSimSerialNumber();
/* * 返回移动终端 sim卡状态 *
* * SIM_STATE_ABSENT SIM卡未找到
* * SIM_STATE_NETWORK_LOCKED SIM卡网络被锁定,需要Network PIN解锁
* * SIM_STATE_PIN_REQUIRED SIM卡PIN被锁定,需要User PIN解锁
* * SIM_STATE_PUK_REQUIRED SIM卡PUK被锁定,需要User PUK解锁
* * SIM_STATE_READY SIM卡可用
* * SIM_STATE_UNKNOWN SIM卡未知
* */
tm.getSimState();
//返回用户唯一标识,比如GSM网络的IMSI编号
tm.getSubscriberId();
//获取语音信箱号码关联的字母标识。
tm.getVoiceMailAlphaTag();
//返回语音邮件号码
tm.getVoiceMailNumber();
tm.hasIccCard();
//返回手机是否处于漫游状态
tm.isNetworkRoaming();
分享到:
相关推荐
TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。 ...
在Android系统中,`TelephonyManager`类是用于获取设备电话功能相关信息的主要接口。通过这个类,开发者可以访问到手机的状态,例如网络连接状态、SIM卡信息以及来电、去电和接听电话的事件。本篇将深入探讨如何利用...
Android中的`TelephonyManager`类是系统服务的一个关键组件,它提供了访问手机通信相关状态和信息的接口。开发者可以使用这个类来获取关于手机硬件、网络状态以及SIM卡等信息。在Android应用程序中,`...
JAVA的反射机制,探秘TelephonyManager在Framework里包含却在SDK隐藏的... 调用TelephonyManager的隐藏API是先参考Framework的/base/telephony/java/com/android/internal/telephony/ITelephony.aidl,然后自己实现一
在Android开发中,TelephonyManager类是用于获取设备电话功能相关信息的重要工具。它提供了一系列方法,可以帮助开发者获取手机硬件信息,如IMEI、SIM卡信息、网络运营商等。本篇文章将详细讲解如何使用...
TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。 ...
接下来,我们可以通过`TelephonyManager`类来获取电话服务。`TelephonyManager`是Android提供的一个系统服务,用于获取手机的通话相关信息。在活动或者服务中,可以通过以下方式获取`TelephonyManager`实例: ```...
在Android系统中,Java反射机制同样被广泛应用,尤其是在动态加载类、处理不确定类型的对象、调用私有方法或者访问私有变量等方面。下面将深入探讨Java反射机制的概念、原理及在Android开发中的应用。 一、Java反射...
Android系统通过`TelephonyManager`类提供了对电话状态的访问,这包括但不限于电话号码、信号强度和电话状态(如空闲、振铃或通话中)。为了监听电话状态的变化,开发者需要注册一个广播接收器(`BroadcastReceiver`)...
`PhoneUtils.java` 类则是实现这些功能的核心,它通过反射获取`TelephonyManager` 的私有服务,并实例化自定义的`ITelephony` 接口来调用隐藏方法。 具体实现过程大致如下: 1. 获取`Context` 对象。 2. 通过`...
`TelephonyManager`类位于`android.telephony`包下,它提供了多种方法来获取设备的电话状态,包括但不限于以下几点: 1. **获取IMEI/MEID**: - `getDeviceId()`:返回设备的唯一标识,通常在GSM设备上是IMEI...
综上所述,Android开发中判断网络状态、获取网络运营商和网络类型以及打开网络设置接口的方法都是通过系统提供的服务和类来实现的,它们是构建网络相关应用不可或缺的基础。开发者应熟练掌握这些技能,以确保应用在...
在Android系统中,`TelephonyManager`类是用于与设备的电话功能进行交互的重要接口。它提供了各种方法,让我们能够获取到与电话相关的硬件信息、状态以及服务功能。本篇文章将详细探讨`TelephonyManager`类的核心...
首先,我们需要了解Android中的`TelephonyManager`类,它是系统提供的一个接口,用于获取手机通话状态和网络信息。通过这个类,我们可以获取到手机的信号强度数据。以下是如何初始化`TelephonyManager`: ```java ...
本文将详细讲解如何使用一个名为"DeviceIDUtils"的工具类来获取Android设备的唯一ID。 首先,Android设备的唯一标识符并不总是那么简单直接。Android系统提供了多种方法来获取与设备相关的唯一标识,但每种方法都有...