java.lang.Object | |
↳ | android.telephony.TelephonyManager |
Provides access to information about the telephony services on the device. Applications can use the methods in this class to determine telephony services and states, as well as to access some types of subscriber information. Applications can also register a listener to receive notification of telephony state changes.
You do not instantiate this class directly; instead, you retrieve
a reference to an instance through
Context.getSystemService(Context.TELEPHONY_SERVICE)
.
Note that access to some telephony information is permission-protected. Your application cannot access the protected information unless it has the appropriate permissions declared in its manifest file. Where permissions apply, they are noted in the the methods through which you access the protected information.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | ACTION_PHONE_STATE_CHANGED | Broadcast intent action indicating that the call state (cellular) on the device has changed. | |||||||||
String | ACTION_RESPOND_VIA_MESSAGE | The Phone app sends this intent when a user opts to respond-via-message during an incoming call. | |||||||||
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 | |||||||||
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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EXTRA_STATE_IDLE | Value used with EXTRA_STATE corresponding to
CALL_STATE_IDLE . |
||||||||||
EXTRA_STATE_OFFHOOK | Value used with EXTRA_STATE corresponding to
CALL_STATE_OFFHOOK . |
||||||||||
EXTRA_STATE_RINGING | Value used with EXTRA_STATE corresponding to
CALL_STATE_RINGING . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns all observed cell information from all radios on the
device including the primary and neighboring cells.
| |||||||||||
Returns a constant indicating the call state (cellular) on the device.
| |||||||||||
Returns the current location of the device.
| |||||||||||
Returns a constant indicating the type of activity on a data connection
(cellular).
| |||||||||||
Returns a constant indicating the current data connection state
(cellular).
| |||||||||||
Returns the unique device ID, for example, the IMEI for GSM and the MEID
or ESN for CDMA phones.
| |||||||||||
Returns the software version number for the device, for example,
the IMEI/SV for GSM phones.
| |||||||||||
Returns the Group Identifier Level1 for a GSM phone.
| |||||||||||
Returns the phone number string for line 1, for example, the MSISDN
for a GSM phone.
| |||||||||||
Returns the MMS user agent profile URL.
| |||||||||||
Returns the MMS user agent.
| |||||||||||
Returns the neighboring cell information of the device.
| |||||||||||
Returns the ISO country code equivalent of the current registered
operator's MCC (Mobile Country Code).
| |||||||||||
Returns the numeric name (MCC+MNC) of current registered operator.
| |||||||||||
Returns the alphabetic name of current registered operator.
| |||||||||||
Returns a constant indicating the device phone type.
| |||||||||||
Returns the ISO country code equivalent for the SIM provider's country code.
| |||||||||||
Returns the MCC+MNC (mobile country code + mobile network code) of the
provider of the SIM.
| |||||||||||
Returns the Service Provider Name (SPN).
| |||||||||||
Returns the serial number of the SIM, if applicable.
| |||||||||||
Returns a constant indicating the state of the
device SIM card.
| |||||||||||
Returns the unique subscriber ID, for example, the IMSI for a GSM phone.
| |||||||||||
Retrieves the alphabetic identifier associated with the voice
mail number.
| |||||||||||
Returns the voice mail number.
| |||||||||||
Returns true if the device is considered roaming on the current
network, for GSM purposes.
| |||||||||||
Registers a listener object to receive notification of changes
in specified telephony states.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Broadcast intent action indicating that the call state (cellular) on the device has changed.
The EXTRA_STATE
extra indicates the new call state.
If the new state is RINGING, a second extra
EXTRA_INCOMING_NUMBER
provides the incoming phone number as
a String.
Requires the READ_PHONE_STATE permission.
This was a sticky
broadcast in version 1.0, but it is no longer sticky.
Instead, use getCallState()
to synchronously query the current call state.
The Phone app sends this intent when a user opts to respond-via-message during an incoming
call. By default, the device's default SMS app consumes this message and sends a text message
to the caller. A third party app can also provide this functionality by consuming this Intent
with a Service
and sending the message using its own messaging system.
The intent contains a URI (available from getData()
)
describing the recipient, using either the sms:
, smsto:
, mms:
,
or mmsto:
URI schema. Each of these URI schema carry the recipient information the
same way: the path part of the URI contains the recipient's phone number or a comma-separated
set of phone numbers if there are multiple recipients. For example, smsto:2065551234
.
The intent may also contain extras for the message text (in EXTRA_TEXT
) and a message subject
(in EXTRA_SUBJECT
).
Note:
The intent-filter that consumes this Intent needs to be in a Service
that requires the
permission SEND_RESPOND_VIA_MESSAGE
.
For example, the service that receives this intent can be declared in the manifest file with an intent filter like this:
<!-- Service that delivers SMS messages received from the phone "quick response" --> <service android:name=".HeadlessSmsSendService" android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE" android:exported="true" > <intent-filter> <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="sms" /> <data android:scheme="smsto" /> <data android:scheme="mms" /> <data android:scheme="mmsto" /> </intent-filter> </service>
Output: nothing.
Device call state: No activity.
Device call state: Off-hook. At least one call exists that is dialing, active, or on hold, and no calls are ringing or waiting.
Device call state: Ringing. A new call arrived and is ringing or waiting. In the latter case, another call is already active.
Data connection is active, but physical link is down
Data connection activity: Currently receiving IP PPP traffic.
Data connection activity: Currently both sending and receiving IP PPP traffic.
Data connection activity: No traffic.
Data connection activity: Currently sending IP PPP traffic.
Data connection state: Connected. IP traffic should be available.
Data connection state: Currently setting up a data connection.
Data connection state: Disconnected. IP traffic not available.
Data connection state: Suspended. The connection is up, but IP traffic is temporarily unavailable. For example, in a 2G network, data activity may be suspended when a voice call arrives.
The lookup key used with the ACTION_PHONE_STATE_CHANGED
broadcast
for a String containing the incoming phone number.
Only valid when the new call state is RINGING.
Retrieve with
getStringExtra(String)
.
The lookup key used with the ACTION_PHONE_STATE_CHANGED
broadcast
for a String containing the new call state.
Current network is 1xRTT
Current network is CDMA: Either IS95A or IS95B
Current network is EDGE
Current network is eHRPD
Current network is EVDO revision 0
Current network is EVDO revision A
Current network is EVDO revision B
Current network is GPRS
Current network is HSDPA
Current network is HSPA
Current network is HSPA+
Current network is HSUPA
Current network is iDen
Current network is LTE
Current network is UMTS
Network type is unknown
Phone radio is CDMA.
Phone radio is GSM.
No phone radio.
Phone is via SIP.
SIM card state: no SIM card is available in the device
SIM card state: Locked: requries a network PIN to unlock
SIM card state: Locked: requires the user's SIM PIN to unlock
SIM card state: Locked: requires the user's SIM PUK to unlock
SIM card state: Ready
SIM card state: Unknown. Signifies that the SIM is in transition between states. For example, when the user inputs the SIM pin under PIN_REQUIRED state, a query for sim status returns this state before turning to SIM_STATE_READY.
Value used with EXTRA_STATE
corresponding to
CALL_STATE_IDLE
.
Value used with EXTRA_STATE
corresponding to
CALL_STATE_OFFHOOK
.
Value used with EXTRA_STATE
corresponding to
CALL_STATE_RINGING
.
Returns all observed cell information from all radios on the device including the primary and neighboring cells. This does not cause or change the rate of PhoneStateListner#onCellInfoChanged.
The list can include one or more of CellInfoGsm
,
CellInfoCdma
,
CellInfoLte
and
CellInfoCdma
in any combination.
Specifically on devices with multiple radios it is typical to see instances of
one or more of any these in the list. In addition 0, 1 or more CellInfo
objects may return isRegistered() true.
This is preferred over using getCellLocation although for older devices this may return null in which case getCellLocation should be called.
Requires Permission: ACCESS_COARSE_LOCATION
Returns a constant indicating the call state (cellular) on the device.
Returns the current location of the device.
If there is only one radio in the device and that radio has an LTE connection, this method will return null. The implementation must not to try add LTE identifiers into the existing cdma/gsm classes.
In the future this call will be deprecated.
Requires Permission:
ACCESS_COARSE_LOCATION
or
ACCESS_FINE_LOCATION
.
Returns a constant indicating the type of activity on a data connection (cellular).
Returns a constant indicating the current data connection state (cellular).
Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones. Return null if device ID is not available.
Requires Permission:
READ_PHONE_STATE
Returns the software version number for the device, for example, the IMEI/SV for GSM phones. Return null if the software version is not available.
Requires Permission:
READ_PHONE_STATE
Returns the Group Identifier Level1 for a GSM phone. Return null if it is unavailable.
Requires Permission:
READ_PHONE_STATE
Returns the phone number string for line 1, for example, the MSISDN for a GSM phone. Return null if it is unavailable.
Requires Permission:
READ_PHONE_STATE
Returns the neighboring cell information of the device. The getAllCellInfo is preferred and use this only if getAllCellInfo return nulls or an empty list.
In the future this call will be deprecated.
Requires Permission: (@link android.Manifest.permission#ACCESS_COARSE_UPDATES}
Returns the ISO country code equivalent of the current registered operator's MCC (Mobile Country Code).
Availability: Only when user is registered to a network. Result may be
unreliable on CDMA networks (use getPhoneType()
to determine if
on a CDMA network).
Returns the numeric name (MCC+MNC) of current registered operator.
Availability: Only when user is registered to a network. Result may be
unreliable on CDMA networks (use getPhoneType()
to determine if
on a CDMA network).
Returns the alphabetic name of current registered operator.
Availability: Only when user is registered to a network. Result may be
unreliable on CDMA networks (use getPhoneType()
to determine if
on a CDMA network).
Returns a constant indicating the device phone type. This indicates the type of radio used to transmit voice calls.
Returns the ISO country code equivalent for the SIM provider's country code.
Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.
Availability: SIM state must be SIM_STATE_READY
Returns the Service Provider Name (SPN).
Availability: SIM state must be SIM_STATE_READY
Returns the serial number of the SIM, if applicable. Return null if it is unavailable.
Requires Permission:
READ_PHONE_STATE
Returns a constant indicating the state of the device SIM card.
Returns the unique subscriber ID, for example, the IMSI for a GSM phone. Return null if it is unavailable.
Requires Permission:
READ_PHONE_STATE
Retrieves the alphabetic identifier associated with the voice mail number.
Requires Permission:
READ_PHONE_STATE
Returns the voice mail number. Return null if it is unavailable.
Requires Permission:
READ_PHONE_STATE
Returns true if the device is considered roaming on the current network, for GSM purposes.
Availability: Only when user registered to a network.
Registers a listener object to receive notification of changes in specified telephony states.
To register a listener, pass a PhoneStateListener
and specify at least one telephony state of interest in
the events argument.
At registration, and when a specified telephony state
changes, the telephony manager invokes the appropriate
callback method on the listener object and passes the
current (udpated) values.
To unregister a listener, pass the listener object and set the
events argument to
LISTEN_NONE
(0).
listener | The PhoneStateListener object to register
(or unregister) |
---|---|
events | The telephony state(s) of interest to the listener,
as a bitwise-OR combination of PhoneStateListener
LISTEN_ flags.
|