转载自:http://www.linuxidc.com/Linux/2011-10/45049.htm
android平台提供的电话信息系统管理功能,主要包括:获取电话信息(设备信息、SIM信息以及网络信息)、侦听电话状态(呼叫状态、服务状态、信号强度状态等)和调用电话拨号器。
TelephoneManager类
在Manifest中添加Permission :<uses-permission Android:name="android.permission.READ_PHONE_STATE" />
TelephonyManager的获得:TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
Constants
String
|
ACTION_PHONE_STATE_CHANGED
|
Broadcast intent action indicating that the call state (cellular) on the device has changed.
|
int
|
CALL_STATE_IDLE
|
Device call state: No activity.
空闲(无呼入或已挂机)
|
int
|
CALL_STATE_OFFHOOK
|
Device call state: Off-hook.
摘机(有呼入)
|
int
|
CALL_STATE_RINGING
|
Device call state: Ringing.
响铃(接听中)
|
int
|
DATA_ACTIVITY_DORMANT
|
Data connection is active, but physical link is down
电话数据活动状态类型:睡眠模式(3.1版本)
|
int
|
DATA_ACTIVITY_IN
|
Data connection activity: Currently receiving IP PPP traffic.
电话数据活动状态类型:数据流入
|
int
|
DATA_ACTIVITY_INOUT
|
Data connection activity: Currently both sending and receiving IP PPP traffic.
电话数据活动状态类型:数据交互
|
int
|
DATA_ACTIVITY_NONE
|
Data connection activity: No traffic.
电话数据活动状态类型:无数据流动
|
int
|
DATA_ACTIVITY_OUT
|
Data connection activity: Currently sending IP PPP traffic.
电话数据活动状态类型:数据流出
|
int
|
DATA_CONNECTED
|
Data connection state: Connected.
数据连接状态类型:已连接
|
int
|
DATA_CONNECTING
|
Data connection state: Currently setting up a data connection.
数据连接状态类型:正在连接
|
int
|
DATA_DISCONNECTED
|
Data connection state: Disconnected.
数据连接状态类型:断开
|
int
|
DATA_SUSPENDED
|
Data connection state: Suspended.
数据连接状态类型:已暂停
|
String
|
EXTRA_INCOMING_NUMBER
|
The lookup key used with the ACTION_PHONE_STATE_CHANGED broadcast for a String containing the incoming phone number.
|
String
|
EXTRA_STATE
|
The lookup key used with the ACTION_PHONE_STATE_CHANGED broadcast for a String containing the new call state.
|
int
|
NETWORK_TYPE_1xRTT
|
Current network is 1xRTT
|
int
|
NETWORK_TYPE_CDMA
|
Current network is CDMA: Either IS95A or IS95B
|
int
|
NETWORK_TYPE_EDGE
|
Current network is EDGE
|
int
|
NETWORK_TYPE_EHRPD
|
Current network is eHRPD
|
int
|
NETWORK_TYPE_EVDO_0
|
Current network is EVDO revision 0
|
int
|
NETWORK_TYPE_EVDO_A
|
Current network is EVDO revision A
|
int
|
NETWORK_TYPE_EVDO_B
|
Current network is EVDO revision B
|
int
|
NETWORK_TYPE_GPRS
|
Current network is GPRS
|
int
|
NETWORK_TYPE_HSDPA
|
Current network is HSDPA
|
int
|
NETWORK_TYPE_HSPA
|
Current network is HSPA
|
int
|
NETWORK_TYPE_HSPAP
|
Current network is HSPA+
|
int
|
NETWORK_TYPE_HSUPA
|
Current network is HSUPA
|
int
|
NETWORK_TYPE_IDEN
|
Current network is iDen
|
int
|
NETWORK_TYPE_LTE
|
Current network is LTE
|
int
|
NETWORK_TYPE_UMTS
|
Current network is UMTS
|
int
|
NETWORK_TYPE_UNKNOWN
|
Network type is unknown
|
int
|
PHONE_TYPE_CDMA
|
Phone radio is CDMA.
|
int
|
PHONE_TYPE_GSM
|
Phone radio is GSM.
|
int
|
PHONE_TYPE_NONE
|
No phone radio.
|
int
|
PHONE_TYPE_SIP
|
Phone is via SIP.
|
int
|
SIM_STATE_ABSENT
|
SIM card state: no SIM card is available in the device
|
int
|
SIM_STATE_NETWORK_LOCKED
|
SIM card state: Locked: requries a network PIN to unlock
|
int
|
SIM_STATE_PIN_REQUIRED
|
SIM card state: Locked: requires the user's SIM PIN to unlock
|
int
|
SIM_STATE_PUK_REQUIRED
|
SIM card state: Locked: requires the user's SIM PUK to unlock
|
int
|
SIM_STATE_READY
|
SIM card state: Ready
|
int
|
SIM_STATE_UNKNOWN
|
SIM card state: Unknown.
|
Fields
public static final String
|
EXTRA_STATE_IDLE
|
Value used with EXTRA_STATE corresponding to CALL_STATE_IDLE.
|
public static final String
|
EXTRA_STATE_OFFHOOK
|
Value used with EXTRA_STATE corresponding to CALL_STATE_OFFHOOK.
|
public static final String
|
EXTRA_STATE_RINGING
|
Value used with EXTRA_STATE corresponding to CALL_STATE_RINGING.
|
Public Methods
int
|
getCallState()
|
Returns a constant indicating the call state (cellular) on the device.
|
CellLocation
|
getCellLocation()
|
Returns the current location of the device.
|
int
|
getDataActivity()
|
Returns a constant indicating the type of activity on a data connection (cellular).
处理侦测到的数据活动的改变事件。通过该函数,可以获取数据活动状态信息。
电话数据活动状态类型定义在TelephoneyManager类中。
DATA_ACTIVITY_NONE 无数据流动 DATA_ACTIVITY_IN 数据流入 DATA_ACTIVITY_OUT 数据流出 DATA_ACTIVITY_INOUT 数据交互 DATA_ACTIVITY_DORMANT 睡眠模式(2.1版本)
|
int
|
getDataState()
|
Returns a constant indicating the current data connection state (cellular).
|
String
|
getDeviceId()
|
Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones.
获取设备标识(IMEI)
|
String
|
getDeviceSoftwareVersion()
|
Returns the software version number for the device, for example, the IMEI/SV for GSM phones.
获得软件版本 |
String
|
getLine1Number()
|
Returns the phone number string for line 1, for example, the MSISDN for a GSM phone.
线路1的电话号码 |
List<NeighboringCellInfo>
|
getNeighboringCellInfo()
|
Returns the neighboring cell information of the device.
|
String
|
getNetworkCountryIso()
|
Returns the ISO country code equivalent of the current registered operator's MCC (Mobile Country Code).
获取网络的国家ISO代码 |
String
|
getNetworkOperator()
|
Returns the numeric name (MCC+MNC) of current registered operator.
获取SIM移动国家代码(MCC)和移动网络代码(MNC)
|
String
|
getNetworkOperatorName()
|
Returns the alphabetic name of current registered operator.
获取服务提供商姓名(中国移动、中国联通等)
|
int
|
getNetworkType()
|
Returns a constant indicating the radio technology (network type) currently in use on the device for data transmission.
获取网络类型
NETWORK_TYPE_UNKNOWN 未知网络 NETWORK_TYPE_GPRS NETWORK_TYPE_EDGE 通用分组无线服务(2.5G) NETWORK_TYPE_UMTS 全球移动通信系统(3G) NETWORK_TYPE_HSDPA NETWORK_TYPE_HSUPA NETWORK_TYPE_HSPA NETWORK_TYPE_CDMA CDMA网络(2.1版本) NETWORK_TYPE_EVDO_0 CDMA2000 EV-DO版本0(2.1版本) NETWORK_TYPE_EVDO_A CDMA2000 EV-DO版本A(2.1版本) NETWORK_TYPE_EVDO_B CDMA2000 EV-DO版本B(2.1版本) NETWORK_TYPE_1xRTT CDMA2000 1xRTT(2.1版本) NETWORK_TYPE_IDEN NETWORK_TYPE_LTE NETWORK_TYPE_EHRPD NETWORK_TYPE_HSPAP
|
int
|
getPhoneType()
|
Returns a constant indicating the device phone type.
电话类型
PHONE_TYPE_NONE 未知 PHONE_TYPE_GSM GSM手机 PHONE_TYPE_CDMA CDMA手机(2.1版本) PHONE_TYPE_SIP via SIP手机
|
String
|
getSimCountryIso()
|
Returns the ISO country code equivalent for the SIM provider's country code.
获取SIM卡中国家ISO代码
|
String
|
getSimOperator()
|
Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM.
获得SIM卡中移动国家代码(MCC)和移动网络代码(MNC) |
String
|
getSimOperatorName()
|
Returns the Service Provider Name (SPN).
获取服务提供商姓名(中国移动、中国联通等) |
String
|
getSimSerialNumber()
|
Returns the serial number of the SIM, if applicable.
SIM卡序列号 |
int
|
getSimState()
|
Returns a constant indicating the state of the device SIM card.
SIM卡状态
SIM_STATE_UNKNOWN 未知状态 SIM_STATE_ABSENT 未插卡 SIM_STATE_PIN_REQUIRED 需要PIN码,需要SIM卡PIN码解锁 SIM_STATE_PUK_REQUIRED 需要PUK码,需要SIM卡PUK码解锁 SIM_STATE_NETWORK_LOCKED 网络被锁定,需要网络PIN解锁 SIM_STATE_READY 准备就绪
其中:PIN个人识别码 PUK个人解锁码
|
String
|
getSubscriberId()
|
Returns the unique subscriber ID, for example, the IMSI for a GSM phone.
获得客户标识(IMSI) |
String
|
getVoiceMailAlphaTag()
|
Retrieves the alphabetic identifier associated with the voice mail number.
|
String
|
getVoiceMailNumber()
|
Returns the voice mail number.
|
boolean
|
hasIccCard()
|
|
boolean
|
isNetworkRoaming()
|
Returns true if the device is considered roaming on the current network, for GSM purposes.
|
void
|
listen(PhoneStateListener listener, int events)
|
Registers a listener object to receive notification of changes in specified telephony states.
侦听电话的呼叫状态。
电话管理服务接口支持的侦听类型在PhoneStateListener类中定义。
|
PhoneStateListener类
Constants
int
|
LISTEN_CALL_FORWARDING_INDICATOR
|
Listen for changes to the call-forwarding indicator.
侦听呼叫转移指示器改变事件
|
int
|
LISTEN_CALL_STATE
|
Listen for changes to the device call state.
侦听呼叫状态改变事件
|
int
|
LISTEN_CELL_LOCATION
|
Listen for changes to the device's cell location. Note that this will result in frequent callbacks to the listener.
侦听设备位置改变事件
|
int
|
LISTEN_DATA_ACTIVITY
|
Listen for changes to the direction of data traffic on the data connection (cellular).
侦听数据连接的流向改变事件
|
int
|
LISTEN_DATA_CONNECTION_STATE
|
Listen for changes to the data connection state (cellular).
侦听数据连接状态改变事件
|
int
|
LISTEN_MESSAGE_WAITING_INDICATOR
|
Listen for changes to the message-waiting indicator.
侦听消息等待指示器改变事件
|
int
|
LISTEN_NONE
|
Stop listening for updates.
停止侦听
|
int
|
LISTEN_SERVICE_STATE
|
Listen for changes to the network service state (cellular).
侦听网络服务状态
|
int
|
LISTEN_SIGNAL_STRENGTH
|
This constant is deprecated. by LISTEN_SIGNAL_STRENGTHS
侦听网络信号强度
|
int
|
LISTEN_SIGNAL_STRENGTHS
|
Listen for changes to the network signal strengths (cellular).
|
Public Constructors
PhoneStateListener()
Public Methods
void
|
onCallForwardingIndicatorChanged(boolean cfi)
|
Callback invoked when the call-forwarding indicator changes.
|
void
|
onCallStateChanged(int state, String incomingNumber)
|
Callback invoked when device call state changes.
处理侦测到的电话呼叫状态的改变事件。通过该回调事件,可以获取来电号码,而且可以获取电话呼叫状态。即用switch(state){case TelephoneManager.CALL_STATE_……}来判断
|
void
|
onCellLocationChanged(CellLocation location)
|
Callback invoked when device cell location changes.
|
void
|
onDataActivity(int direction)
|
Callback invoked when data activity state changes.
|
void
|
onDataConnectionStateChanged(int state)
|
Callback invoked when connection state changes.
|
void
|
onDataConnectionStateChanged(int state, int networkType)
|
same as above, but with the network type.
处理侦测到的数据连接状态的改变状态。通过该回调函数,可以获取数据连接状态信息。
数据连接类型
DATA_DISCONNECTED 断开 DATA_CONNECTING 正在连接 DATA_CONNECTED 已连接 DATA_SUSPENDED 已暂停
|
void
|
onMessageWaitingIndicatorChanged(boolean mwi)
|
Callback invoked when the message-waiting indicator changes.
|
void
|
onServiceStateChanged(ServiceState serviceState)
|
Callback invoked when device service state changes.
处理侦测到的服务状态的改变事件。通过该回调函数可以获取服务状态信息。
电话服务状态类型定义在ServiceState类中。
|
void
|
onSignalStrengthChanged(int asu)
|
This method is deprecated. Use onSignalStrengthsChanged(SignalStrength)
处理侦测到的信号强度的改变事件。通过该回调函数,可以获取信号强度类型。
|
void
|
onSignalStrengthsChanged(SignalStrength signalStrength)
|
Callback invoked when network signal strengths changes.
|
电话拨号
- Uri uri=Uri.parse("tel:"+电话号码);
-
Intent intent=new Intent(Intent.ACTION_DIAL,uri);
- startActivity(intent);
其中的电话号码可以通过EditText中输入获得数据,如editText.getText().toString().trim()来获得
上面的代码可以放在Button的onClick方法中调用即可实现拨打电话的功能,调用的是系统的拨号界面
分享到:
相关推荐
Android 常用的 API 接口调用 Android 操作系统提供了许多有用的 API 接口,开发者可以通过这些接口调用来实现各种功能。本文将对 Android 常用的 API 接口调用进行归类和详细介绍。 显示网页 要在 Android 应用...
* android:hintText:为空时显示的文字提示信息。 * android:imeOptions:附加功能,设置右下角IME动作与编辑框相关的动作。 * android:imeActionId:设置IME动作ID。 * android:imeActionLabel:设置IME动作Label。...
总结,使用Android电话API涉及电话状态获取、短信服务管理和电话拨出,开发者需要熟悉TelephonyManager、SmsManager、Intent等关键类,并掌握权限管理和多版本兼容策略。在实际应用中,这将帮助我们构建功能丰富的...
### Android2.2—TextView API中文文档:深入解析 #### 引言 在Android开发中,`TextView`作为最常用的视图组件之一,用于展示文本信息。本文将深入解析`TextView` API,尤其是针对Android2.2版本的特性,帮助...
在探讨这份android API中文文档之前,需要明确Android API文档是Android开发者日常工作中不可或缺的参考资料。这份文档详细地描述了Android平台上各个组件的使用方法和属性设置,涵盖了从基础控件到高级功能的广泛...
Android API 26,对应的是Android 8.0 Oreo操作系统,是谷歌在2017年发布的一个重要更新。这个版本引入了多项关键功能和改进,旨在提升用户体验、优化性能以及增强开发者工具。让我们深入探讨一下Android API 26包含...
在Android平台上,联系人API是开发者与用户手机通讯录进行交互的重要工具。通过这个API,开发者可以实现诸如读取联系人信息、添加新联系人、更新现有联系人、删除联系人以及管理联系人分组等一系列功能。在"Pro ...
8. **电话和短信功能增强**:引入了来电显示归属地信息,改进了通话质量,同时支持SMS和MMS的多媒体内容。 9. **新的开发者工具**:SDK包中包含的Android Studio和其他开发工具,如ADT(Android Developer Tools)...
### Android-API详解大全 #### 一、TextView的API详解 **1.1 结构** TextView在Android中的层次结构如下所示: - `java.lang.Object` - `↳android.view.View` (视图基类) - `↳android.widget.TextView` ...
标签 "python android 安卓 api qpython" 表明这份文档是关于在安卓平台上使用 Python 语言和 QPython(一个让 Python 脚本运行在 Android 设备上的环境)相关的接口和功能的介绍。 接下来,我们将详细阐述文档中...
Android 2.2,也被称为Froyo(冻酸奶),是Android操作系统的一个重大版本更新,其API级别为8。这个版本在2010年发布,带来了诸多性能优化和新特性,对开发者和用户都具有重要的意义。在这个压缩包中,包含的是...
搜索结果会通过`OnPoiSearchListener`的`onPoiResultReturned(PoiResult poiResult)`方法返回,`PoiResult`包含了多个`PoiInfo`对象,每个`PoiInfo`代表一个兴趣点,包括名称、地址、电话等详细信息。 此外,"1-...
本文将深入探讨"android.widget"包中的相关内容,该包是Android API的重要组成部分,包含了大量的用户界面组件。 Android的`android.widget`包是用于构建应用程序用户界面的基础组件集合。这些组件通常在Android的...
通过分析这个源码,我们可以学习到如何在Android系统中集成电话拨打功能,并了解相关API和权限管理。 在Android中,拨打电话功能涉及到的主要知识点包括: 1. **Intent**: 在Android中,Intent用于启动或与其它...
总的来说,这个基于PhoneGap的Android电话本源码涵盖了移动应用开发中的多个重要知识点,包括PhoneGap框架的使用、Android系统的Contacts API、JavaScript与原生API的交互、以及数据备份策略。对于想要学习PhoneGap...
10. **TelephonyManager**: 这是Android提供的API,允许应用获取关于电话功能的信息,如当前的通话状态、SIM卡信息等。 通过对这些源码的分析,开发者可以学习到Android系统的底层工作原理,优化通话体验,或者开发...
这个API允许开发者访问手机的SIM卡信息、网络连接状态、来电和去电信息等,从而实现各种与电话通信相关的功能,例如创建电话应用、监控通话状态或者获取网络运营商信息。 在Android中,TelephonyManager类是Android...
Android开发是目前移动应用开发中非常重要的一环,尤其是在构建跨平台应用时,对Android API的了解程度直接影响到开发效率和应用的质量。在给定文件中,我们可以看到一份关于Android开发中TextView组件的API详细描述...
Android API详解主要涉及Android开发中广泛使用的一个基础组件:TextView。TextView是一个UI组件,用于在屏幕上显示文本。开发者通过它的API可以控制文本的显示方式和行为。在深入学习Android开发的过程中,对...