Android APIs
public static final class

Telephony.Sms.Intents

extends Object
java.lang.Object
   ↳ android.provider.Telephony.Sms.Intents

Class Overview

Contains constants for SMS related Intents that are broadcast.

Summary

Constants
String ACTION_CHANGE_DEFAULT Activity action: Ask the user to change the default SMS application.
String DATA_SMS_RECEIVED_ACTION Broadcast Action: A new data based SMS message has been received by the device.
String EXTRA_PACKAGE_NAME The PackageName string passed in as an extra for ACTION_CHANGE_DEFAULT
int RESULT_SMS_DUPLICATED Set by BroadcastReceiver to indicate a duplicate incoming message.
int RESULT_SMS_GENERIC_ERROR Set by BroadcastReceiver to indicate a generic error while processing the message.
int RESULT_SMS_HANDLED Set by BroadcastReceiver to indicate that the message was handled successfully.
int RESULT_SMS_OUT_OF_MEMORY Set by BroadcastReceiver to indicate insufficient memory to store the message.
int RESULT_SMS_UNSUPPORTED Set by BroadcastReceiver to indicate that the message, while possibly valid, is of a format or encoding that is not supported.
String SIM_FULL_ACTION Broadcast Action: The SIM storage for SMS messages is full.
String SMS_CB_RECEIVED_ACTION Broadcast Action: A new Cell Broadcast message has been received by the device.
String SMS_DELIVER_ACTION Broadcast Action: A new text-based SMS message has been received by the device.
String SMS_EMERGENCY_CB_RECEIVED_ACTION Broadcast Action: A new Emergency Broadcast message has been received by the device.
String SMS_RECEIVED_ACTION Broadcast Action: A new text-based SMS message has been received by the device.
String SMS_REJECTED_ACTION Broadcast Action: An incoming SMS has been rejected by the telephony framework.
String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION Broadcast Action: A new CDMA SMS has been received containing Service Category Program Data (updates the list of enabled broadcast channels).
String WAP_PUSH_DELIVER_ACTION Broadcast Action: A new WAP PUSH message has been received by the device.
String WAP_PUSH_RECEIVED_ACTION Broadcast Action: A new WAP PUSH message has been received by the device.
Public Methods
static SmsMessage[] getMessagesFromIntent(Intent intent)
Read the PDUs out of an SMS_RECEIVED_ACTION or a DATA_SMS_RECEIVED_ACTION intent.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String ACTION_CHANGE_DEFAULT

Added in API level 19

Activity action: Ask the user to change the default SMS application. This will show a dialog that asks the user whether they want to replace the current default SMS application with the one specified in EXTRA_PACKAGE_NAME.

Constant Value: "android.provider.Telephony.ACTION_CHANGE_DEFAULT"

public static final String DATA_SMS_RECEIVED_ACTION

Added in API level 19

Broadcast Action: A new data based SMS message has been received by the device. This intent will be delivered to all registered receivers as a notification. The intent will have the following extra values:

  • "pdus" - An Object[] of byte[]s containing the PDUs that make up the message.

The extra values can be extracted using getMessagesFromIntent(Intent).

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

Constant Value: "android.intent.action.DATA_SMS_RECEIVED"

public static final String EXTRA_PACKAGE_NAME

Added in API level 19

The PackageName string passed in as an extra for ACTION_CHANGE_DEFAULT

Constant Value: "package"

public static final int RESULT_SMS_DUPLICATED

Added in API level 19

Set by BroadcastReceiver to indicate a duplicate incoming message.

Constant Value: 5 (0x00000005)

public static final int RESULT_SMS_GENERIC_ERROR

Added in API level 19

Set by BroadcastReceiver to indicate a generic error while processing the message.

Constant Value: 2 (0x00000002)

public static final int RESULT_SMS_HANDLED

Added in API level 19

Set by BroadcastReceiver to indicate that the message was handled successfully.

Constant Value: 1 (0x00000001)

public static final int RESULT_SMS_OUT_OF_MEMORY

Added in API level 19

Set by BroadcastReceiver to indicate insufficient memory to store the message.

Constant Value: 3 (0x00000003)

public static final int RESULT_SMS_UNSUPPORTED

Added in API level 19

Set by BroadcastReceiver to indicate that the message, while possibly valid, is of a format or encoding that is not supported.

Constant Value: 4 (0x00000004)

public static final String SIM_FULL_ACTION

Added in API level 19

Broadcast Action: The SIM storage for SMS messages is full. If space is not freed, messages targeted for the SIM (class 2) may not be saved.

Constant Value: "android.provider.Telephony.SIM_FULL"

public static final String SMS_CB_RECEIVED_ACTION

Added in API level 19

Broadcast Action: A new Cell Broadcast message has been received by the device. The intent will have the following extra values:

  • "message" - An SmsCbMessage object containing the broadcast message data. This is not an emergency alert, so ETWS and CMAS data will be null.

The extra values can be extracted using getMessagesFromIntent(Intent).

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

Constant Value: "android.provider.Telephony.SMS_CB_RECEIVED"

public static final String SMS_DELIVER_ACTION

Added in API level 19

Broadcast Action: A new text-based SMS message has been received by the device. This intent will only be delivered to the default sms app. That app is responsible for writing the message and notifying the user. The intent will have the following extra values:

  • "pdus" - An Object[] of byte[]s containing the PDUs that make up the message.
  • "format" - A String describing the format of the PDUs. It can be either "3gpp" or "3gpp2".
  • "subscription" - An optional long value of the subscription id which received the message.
  • "slot" - An optional int value of the SIM slot containing the subscription.
  • "phone" - An optional int value of the phone id associated with the subscription.
  • "errorCode" - An optional int error code associated with receiving the message.

The extra values can be extracted using getMessagesFromIntent(Intent).

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

Note: The broadcast receiver that filters for this intent must declare BROADCAST_SMS as a required permission in the <receiver> tag.

Constant Value: "android.provider.Telephony.SMS_DELIVER"

public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION

Added in API level 19

Broadcast Action: A new Emergency Broadcast message has been received by the device. The intent will have the following extra values:

  • "message" - An SmsCbMessage object containing the broadcast message data, including ETWS or CMAS warning notification info if present.

The extra values can be extracted using getMessagesFromIntent(Intent).

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

Constant Value: "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"

public static final String SMS_RECEIVED_ACTION

Added in API level 19

Broadcast Action: A new text-based SMS message has been received by the device. This intent will be delivered to all registered receivers as a notification. These apps are not expected to write the message or notify the user. The intent will have the following extra values:

  • "pdus" - An Object[] of byte[]s containing the PDUs that make up the message.

The extra values can be extracted using getMessagesFromIntent(Intent).

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

Constant Value: "android.provider.Telephony.SMS_RECEIVED"

public static final String SMS_REJECTED_ACTION

Added in API level 19

Broadcast Action: An incoming SMS has been rejected by the telephony framework. This intent is sent in lieu of any of the RECEIVED_ACTION intents. The intent will have the following extra value:

Constant Value: "android.provider.Telephony.SMS_REJECTED"

public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION

Added in API level 19

Broadcast Action: A new CDMA SMS has been received containing Service Category Program Data (updates the list of enabled broadcast channels). The intent will have the following extra values:

  • "operations" - An array of CdmaSmsCbProgramData objects containing the service category operations (add/delete/clear) to perform.

The extra values can be extracted using getMessagesFromIntent(Intent).

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

Constant Value: "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED"

public static final String WAP_PUSH_DELIVER_ACTION

Added in API level 19

Broadcast Action: A new WAP PUSH message has been received by the device. This intent will only be delivered to the default sms app. That app is responsible for writing the message and notifying the user. The intent will have the following extra values:

  • "transactionId" - (Integer) The WAP transaction ID
  • "pduType" - (Integer) The WAP PDU type
  • "header" - (byte[]) The header of the message
  • "data" - (byte[]) The data payload of the message
  • "contentTypeParameters" -(HashMap<String,String>) Any parameters associated with the content type (decoded from the WSP Content-Type header)
  • "subscription" - An optional long value of the subscription id which received the message.
  • "slot" - An optional int value of the SIM slot containing the subscription.
  • "phone" - An optional int value of the phone id associated with the subscription.

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

The contentTypeParameters extra value is map of content parameters keyed by their names.

If any unassigned well-known parameters are encountered, the key of the map will be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If a parameter has No-Value the value in the map will be null.

Note: The broadcast receiver that filters for this intent must declare BROADCAST_WAP_PUSH as a required permission in the <receiver> tag.

Constant Value: "android.provider.Telephony.WAP_PUSH_DELIVER"

public static final String WAP_PUSH_RECEIVED_ACTION

Added in API level 19

Broadcast Action: A new WAP PUSH message has been received by the device. This intent will be delivered to all registered receivers as a notification. These apps are not expected to write the message or notify the user. The intent will have the following extra values:

  • "transactionId" - (Integer) The WAP transaction ID
  • "pduType" - (Integer) The WAP PDU type
  • "header" - (byte[]) The header of the message
  • "data" - (byte[]) The data payload of the message
  • "contentTypeParameters" - (HashMap<String,String>) Any parameters associated with the content type (decoded from the WSP Content-Type header)

If a BroadcastReceiver encounters an error while processing this intent it should set the result code appropriately.

The contentTypeParameters extra value is map of content parameters keyed by their names.

If any unassigned well-known parameters are encountered, the key of the map will be 'unassigned/0x...', where '...' is the hex value of the unassigned parameter. If a parameter has No-Value the value in the map will be null.

Constant Value: "android.provider.Telephony.WAP_PUSH_RECEIVED"

Public Methods

public static SmsMessage[] getMessagesFromIntent (Intent intent)

Added in API level 19

Read the PDUs out of an SMS_RECEIVED_ACTION or a DATA_SMS_RECEIVED_ACTION intent.

Parameters
intent Intent: the intent to read from
Returns
SmsMessage[] an array of SmsMessages for the PDUs