Most visited

Recently visited

Added in API level 1

PhoneStateListener

public class PhoneStateListener
extends Object

java.lang.Object
   ↳ android.telephony.PhoneStateListener


A listener class for monitoring changes in specific telephony states on the device, including service state, signal strength, message waiting indicator (voicemail), and others.

Override the methods for the state that you wish to receive updates for, and pass your PhoneStateListener object, along with bitwise-or of the LISTEN_ flags to TelephonyManager.listen().

Note that access to some telephony information is permission-protected. Your application won't receive updates for protected information unless it has the appropriate permissions declared in its manifest file. Where permissions apply, they are noted in the appropriate LISTEN_ flags.

Summary

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_INFO

Listen for changes to observed cell info.

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 was deprecated in API level 7. by LISTEN_SIGNAL_STRENGTHS

int LISTEN_SIGNAL_STRENGTHS

Listen for changes to the network signal strengths (cellular).

Public constructors

PhoneStateListener()

Create a PhoneStateListener for the Phone with the default subscription.

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.

void onCellInfoChanged(List<CellInfo> cellInfo)

Callback invoked when a observed cell info has changed, or new cells have been added or removed.

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, int networkType)

same as above, but with the network type.

void onDataConnectionStateChanged(int state)

Callback invoked when connection state changes.

void onMessageWaitingIndicatorChanged(boolean mwi)

Callback invoked when the message-waiting indicator changes.

void onServiceStateChanged(ServiceState serviceState)

Callback invoked when device service state changes.

void onSignalStrengthChanged(int asu)

This method was deprecated in API level 5. Use onSignalStrengthsChanged(SignalStrength)

void onSignalStrengthsChanged(SignalStrength signalStrength)

Callback invoked when network signal strengths changes.

Inherited methods

From class java.lang.Object

Constants

LISTEN_CALL_FORWARDING_INDICATOR

Added in API level 1
int LISTEN_CALL_FORWARDING_INDICATOR

Listen for changes to the call-forwarding indicator.

Requires Permission: READ_PHONE_STATE

See also:

Constant Value: 8 (0x00000008)

LISTEN_CALL_STATE

Added in API level 1
int LISTEN_CALL_STATE

Listen for changes to the device call state.

See also:

Constant Value: 32 (0x00000020)

LISTEN_CELL_INFO

Added in API level 17
int LISTEN_CELL_INFO

Listen for changes to observed cell info.

See also:

Constant Value: 1024 (0x00000400)

LISTEN_CELL_LOCATION

Added in API level 1
int LISTEN_CELL_LOCATION

Listen for changes to the device's cell location. Note that this will result in frequent callbacks to the listener.

Requires Permission: ACCESS_COARSE_LOCATION

If you need regular location updates but want more control over the update interval or location precision, you can set up a listener through the location manager instead.

See also:

Constant Value: 16 (0x00000010)

LISTEN_DATA_ACTIVITY

Added in API level 1
int LISTEN_DATA_ACTIVITY

Listen for changes to the direction of data traffic on the data connection (cellular).

Example: The status bar uses this to display the appropriate data-traffic icon.

See also:

Constant Value: 128 (0x00000080)

LISTEN_DATA_CONNECTION_STATE

Added in API level 1
int LISTEN_DATA_CONNECTION_STATE

Listen for changes to the data connection state (cellular).

See also:

Constant Value: 64 (0x00000040)

LISTEN_MESSAGE_WAITING_INDICATOR

Added in API level 1
int LISTEN_MESSAGE_WAITING_INDICATOR

Listen for changes to the message-waiting indicator.

Requires Permission: READ_PHONE_STATE

Example: The status bar uses this to determine when to display the voicemail icon.

See also:

Constant Value: 4 (0x00000004)

LISTEN_NONE

Added in API level 1
int LISTEN_NONE

Stop listening for updates.

Constant Value: 0 (0x00000000)

LISTEN_SERVICE_STATE

Added in API level 1
int LISTEN_SERVICE_STATE

Listen for changes to the network service state (cellular).

See also:

Constant Value: 1 (0x00000001)

LISTEN_SIGNAL_STRENGTH

Added in API level 1
int LISTEN_SIGNAL_STRENGTH

This constant was deprecated in API level 7.
by LISTEN_SIGNAL_STRENGTHS

Listen for changes to the network signal strength (cellular).

Requires Permission: READ_PHONE_STATE

See also:

Constant Value: 2 (0x00000002)

LISTEN_SIGNAL_STRENGTHS

Added in API level 7
int LISTEN_SIGNAL_STRENGTHS

Listen for changes to the network signal strengths (cellular).

Example: The status bar uses this to control the signal-strength icon.

See also:

Constant Value: 256 (0x00000100)

Public constructors

PhoneStateListener

Added in API level 1
PhoneStateListener ()

Create a PhoneStateListener for the Phone with the default subscription. This class requires Looper.myLooper() not return null.

Public methods

onCallForwardingIndicatorChanged

Added in API level 1
void onCallForwardingIndicatorChanged (boolean cfi)

Callback invoked when the call-forwarding indicator changes.

Parameters
cfi boolean

onCallStateChanged

Added in API level 1
void onCallStateChanged (int state, 
                String incomingNumber)

Callback invoked when device call state changes.

Parameters
state int: call state
incomingNumber String: incoming call phone number. If application does not have READ_PHONE_STATE permission, an empty string will be passed as an argument.

See also:

onCellInfoChanged

Added in API level 17
void onCellInfoChanged (List<CellInfo> cellInfo)

Callback invoked when a observed cell info has changed, or new cells have been added or removed.

Parameters
cellInfo List: is the list of currently visible cells.

onCellLocationChanged

Added in API level 1
void onCellLocationChanged (CellLocation location)

Callback invoked when device cell location changes.

Parameters
location CellLocation

onDataActivity

Added in API level 1
void onDataActivity (int direction)

Callback invoked when data activity state changes.

Parameters
direction int

See also:

onDataConnectionStateChanged

Added in API level 7
void onDataConnectionStateChanged (int state, 
                int networkType)

same as above, but with the network type. Both called.

Parameters
state int
networkType int

onDataConnectionStateChanged

Added in API level 1
void onDataConnectionStateChanged (int state)

Callback invoked when connection state changes.

Parameters
state int

See also:

onMessageWaitingIndicatorChanged

Added in API level 1
void onMessageWaitingIndicatorChanged (boolean mwi)

Callback invoked when the message-waiting indicator changes.

Parameters
mwi boolean

onServiceStateChanged

Added in API level 1
void onServiceStateChanged (ServiceState serviceState)

Callback invoked when device service state changes.

Parameters
serviceState ServiceState

See also:

onSignalStrengthChanged

Added in API level 1
void onSignalStrengthChanged (int asu)

This method was deprecated in API level 5.
Use onSignalStrengthsChanged(SignalStrength)

Callback invoked when network signal strength changes.

Parameters
asu int

See also:

onSignalStrengthsChanged

Added in API level 7
void onSignalStrengthsChanged (SignalStrength signalStrength)

Callback invoked when network signal strengths changes.

Parameters
signalStrength SignalStrength

See also:

Hooray!