Most visited

Recently visited

Added in API level 4

SmsMessage

public class SmsMessage
extends Object

java.lang.Object
   ↳ android.telephony.SmsMessage


短消息服务消息。

也可以看看:

Summary

Nested classes

枚举 SmsMessage.MessageClass

SMS Class枚举。

class SmsMessage.SubmitPdu

 

Constants

int ENCODING_16BIT

int ENCODING_7BIT

int ENCODING_8BIT

int ENCODING_UNKNOWN

用户数据文本编码代码单元大小

int MAX_USER_DATA_BYTES

每条消息的最大有效负载字节数

int MAX_USER_DATA_BYTES_WITH_HEADER

如果存在用户数据标题,则每个消息的有效负载字节数量为最大值。

int MAX_USER_DATA_SEPTETS

每个消息的有效载荷字节数的最大值

int MAX_USER_DATA_SEPTETS_WITH_HEADER

如果用户数据标题存在,则每个消息的有效载荷字节数的最大值。

Public methods

static int[] calculateLength(CharSequence msgBody, boolean use7bitOnly)

计算消息正文编码所需的SMS数量和直到下一条消息的剩余字符数。

static int[] calculateLength(String messageBody, boolean use7bitOnly)

计算在给定当前编码的情况下编码消息正文所需的SMS的数量和直到下一条消息的剩余字符数。

static SmsMessage createFromPdu(byte[] pdu)

此方法在API级别23中已弃用。请改为使用createFromPdu(byte[], String)

static SmsMessage createFromPdu(byte[] pdu, String format)

使用指定的消息格式从原始PDU创建一个SmsMessage。

String getDisplayMessageBody()

如果此邮件来自电子邮件网关,则返回邮件正文或电子邮件正文。

String getDisplayOriginatingAddress()

如果此邮件来自电子邮件网关,则返回始发地址或来自地址的电子邮件。

String getEmailBody()
String getEmailFrom()
int getIndexOnIcc()

返回ICC上消息的记录索引(从1开始的索引)。

int getIndexOnSim()

此方法在API级别4中已弃用。请改为使用getIndexOnIcc。

String getMessageBody()

以String形式返回消息体,如果它存在并且是基于文本的。

SmsMessage.MessageClass getMessageClass()

返回此消息的类。

String getOriginatingAddress()

以字符串形式返回此SMS消息的始发地址(发件人),如果不可用,则返回null

byte[] getPdu()

返回消息的原始PDU。

int getProtocolIdentifier()

获取协议标识符。

String getPseudoSubject()

如果不存在,parens中包含的主题行的非官方约定为空字符串

String getServiceCenterAddress()

返回中继该消息的SMS服务中心的地址,如果没有,则返回null。

int getStatus()

GSM:对于SMS-STATUS-REPORT消息,这将从状态报告返回状态字段。

int getStatusOnIcc()

返回ICC上消息的状态(读取,未读,已发送,未发送)。

int getStatusOnSim()

此方法在API级别4中已弃用。请改为使用getStatusOnIcc。

static SmsMessage.SubmitPdu getSubmitPdu(String scAddress, String destinationAddress, String message, boolean statusReportRequested)

获取目标地址和消息的SMS-SUBMIT PDU。

static SmsMessage.SubmitPdu getSubmitPdu(String scAddress, String destinationAddress, short destinationPort, byte[] data, boolean statusReportRequested)

获取一个SMS-SUBMIT PDU,将数据信息发送到目标地址和端口。

static int getTPLayerLengthForPDU(String pdu)

获得给定SMS-SUBMIT PDU的TP层长基本上,长度以字节为单位(不是十六进制字符)少于SMSC头FIXME:此方法仅用于未在CDMA设备上运行的CTS测试用例。

long getTimestampMillis()

以currentTimeMillis()格式返回服务中心时间戳

byte[] getUserData()

如果存在用户数据部分,则返回用户数据部分。

boolean isCphsMwiMessage()

对于CPHS MWI切换消息返回true。

boolean isEmail()

如果消息是电子邮件,则返回true。

boolean isMWIClearMessage()

如果此消息是CPHS语音邮件/消息等待指示符(MWI)清除消息,则返回true

boolean isMWISetMessage()

如果此消息是CPHS语音邮件/消息等待指示符(MWI)设置消息,则返回true

boolean isMwiDontStore()

如果此消息是“消息等待指示组:丢弃消息”通知并且不应存储,则返回true。

boolean isReplace()

见TS 23.040 9.2.3.9如果这是“替换短消息”SMS,则返回true

boolean isReplyPathPresent()

如果在此消息中设置了 TP-Reply-Path位,则返回true。

boolean isStatusReportMessage()

如果消息是SMS-STATUS-REPORT消息,则返回true。

Inherited methods

From class java.lang.Object

Constants

ENCODING_16BIT

Added in API level 4
int ENCODING_16BIT

常量值:3(0x00000003)

ENCODING_7BIT

Added in API level 4
int ENCODING_7BIT

常数值:1(0x00000001)

ENCODING_8BIT

Added in API level 4
int ENCODING_8BIT

常量值:2(0x00000002)

ENCODING_UNKNOWN

Added in API level 4
int ENCODING_UNKNOWN

用户数据文本编码代码单元大小

常量值:0(0x00000000)

MAX_USER_DATA_BYTES

Added in API level 4
int MAX_USER_DATA_BYTES

每条消息的最大有效负载字节数

常量值:140(0x0000008c)

MAX_USER_DATA_BYTES_WITH_HEADER

Added in API level 4
int MAX_USER_DATA_BYTES_WITH_HEADER

如果存在用户数据标题,则每个消息的有效负载字节数量为最大值。 这假设头只包含CONCATENATED_8_BIT_REFERENCE元素。

常量值:134(0x00000086)

MAX_USER_DATA_SEPTETS

Added in API level 4
int MAX_USER_DATA_SEPTETS

每个消息的有效载荷字节数的最大值

常量值:160(0x000000a0)

MAX_USER_DATA_SEPTETS_WITH_HEADER

Added in API level 4
int MAX_USER_DATA_SEPTETS_WITH_HEADER

如果用户数据标题存在,则每个消息的有效载荷字节数的最大值。 这假设头只包含CONCATENATED_8_BIT_REFERENCE元素。

常量值:153(0x00000099)

Public methods

calculateLength

Added in API level 4
int[] calculateLength (CharSequence msgBody, 
                boolean use7bitOnly)

计算消息正文编码所需的SMS数量和直到下一条消息的剩余字符数。

Parameters
msgBody CharSequence: the message to encode
use7bitOnly boolean: if true, characters that are not part of the radio-specific 7-bit encoding are counted as single space chars. If false, and if the messageBody contains non-7-bit encodable characters, length is calculated using a 16-bit encoding.
Returns
int[] an int[4] with int[0] being the number of SMS's required, int[1] the number of code units used, and int[2] is the number of code units remaining until the next message. int[3] is an indicator of the encoding code unit size (see the ENCODING_* definitions in SmsConstants)

calculateLength

Added in API level 4
int[] calculateLength (String messageBody, 
                boolean use7bitOnly)

计算在给定当前编码的情况下编码消息正文所需的SMS的数量和直到下一条消息的剩余字符数。

Parameters
messageBody String: the message to encode
use7bitOnly boolean: if true, characters that are not part of the radio specific (GSM / CDMA) alphabet encoding are converted to as a single space characters. If false, a messageBody containing non-GSM or non-CDMA alphabet characters are encoded using 16-bit encoding.
Returns
int[] an int[4] with int[0] being the number of SMS's required, int[1] the number of code units used, and int[2] is the number of code units remaining until the next message. int[3] is the encoding type that should be used for the message.

createFromPdu

Added in API level 4
SmsMessage createFromPdu (byte[] pdu)

此方法在API级别23中已弃用。
改为使用createFromPdu(byte[], String)

从原始PDU创建一个SmsMessage。 首先猜测基于语音技术的格式,如果失败则使用其他格式。 通过处理SMS_RECEIVED_ACTION广播意图处理传入SMS消息的所有应用程序现在都必须将新的format String额外从意图传递到新方法createFromPdu(byte[], String) ,该方法需要一个额外的格式参数。 这是为了在需要同时支持3GPP和3GPP2格式的设备(例如双模GSM / CDMA和CDMA / LTE电话)上正确解码PDU所必需的。

Parameters
pdu byte
Returns
SmsMessage

createFromPdu

Added in API level 23
SmsMessage createFromPdu (byte[] pdu, 
                String format)

使用指定的消息格式从原始PDU创建一个SmsMessage。 消息格式在SMS_RECEIVED_ACTION作为format字符串额外传递,对于3GPP格式的GSM / UMTS / LTE消息将为“3gpp”,对于3GPP2格式的CDMA / LTE消息则为“3gpp2”。

Parameters
pdu byte: the message PDU from the SMS_RECEIVED_ACTION intent
format String: the format extra from the SMS_RECEIVED_ACTION intent
Returns
SmsMessage

getDisplayMessageBody

Added in API level 4
String getDisplayMessageBody ()

如果此邮件来自电子邮件网关,则返回邮件正文或电子邮件正文。 如果邮件正文不可用,则返回null

Returns
String

getDisplayOriginatingAddress

Added in API level 4
String getDisplayOriginatingAddress ()

如果此邮件来自电子邮件网关,则返回始发地址或来自地址的电子邮件。 如果起始地址不可用,则返回空值。

Returns
String

getEmailBody

Added in API level 4
String getEmailBody ()

Returns
String if isEmail() is true, body of the email sent through the gateway. null otherwise

getEmailFrom

Added in API level 4
String getEmailFrom ()

Returns
String if isEmail() is true, email from address of email sent through the gateway. null otherwise

getIndexOnIcc

Added in API level 4
int getIndexOnIcc ()

返回ICC上消息的记录索引(从1开始的索引)。

Returns
int the record index of the message on the ICC, or -1 if this SmsMessage was not created from a ICC SMS EF record.

getIndexOnSim

Added in API level 4
int getIndexOnSim ()

此方法在API级别4中已弃用。
改用getIndexOnIcc。

返回SIM上消息的记录索引(基于1的索引)。

Returns
int the record index of the message on the SIM, or -1 if this SmsMessage was not created from a SIM SMS EF record.

getMessageBody

Added in API level 4
String getMessageBody ()

以String形式返回消息体,如果它存在并且是基于文本的。

Returns
String message body is there is one, otherwise null

getMessageClass

Added in API level 4
SmsMessage.MessageClass getMessageClass ()

返回此消息的类。

Returns
SmsMessage.MessageClass

getOriginatingAddress

Added in API level 4
String getOriginatingAddress ()

以字符串形式返回此SMS消息的始发地址(发件人),如果不可用,则返回null

Returns
String

getPdu

Added in API level 4
byte[] getPdu ()

返回消息的原始PDU。

Returns
byte[] the raw PDU for the message.

getProtocolIdentifier

Added in API level 4
int getProtocolIdentifier ()

获取协议标识符。

Returns
int

getPseudoSubject

Added in API level 4
String getPseudoSubject ()

如果不存在,parens中包含的主题行的非官方约定为空字符串

Returns
String

getServiceCenterAddress

Added in API level 4
String getServiceCenterAddress ()

返回中继该消息的SMS服务中心的地址,如果没有,则返回null。

Returns
String

getStatus

Added in API level 4
int getStatus ()

GSM:对于SMS-STATUS-REPORT消息,这将从状态报告返回状态字段。 如果要求,该字段表示先前提交的SMS的状态。 有关值的描述,请参阅TS 23.040,9.2.3.15 TP-Status。 CDMA:为了不干扰来自GSM的状态码,该值被移位到31-16位。 该值由错误类(位25-24)和状态码(位23-16)组成。 可能的代码在C.S0015-B,v2.0,4.5.21中描述。

Returns
int 0 indicates the previously sent message was received. See TS 23.040, 9.9.2.3.15 and C.S0015-B, v2.0, 4.5.21 for a description of other possible values.

getStatusOnIcc

Added in API level 4
int getStatusOnIcc ()

返回ICC上消息的状态(读取,未读,已发送,未发送)。

Returns
int the status of the message on the ICC. These are: SmsManager.STATUS_ON_ICC_FREE SmsManager.STATUS_ON_ICC_READ SmsManager.STATUS_ON_ICC_UNREAD SmsManager.STATUS_ON_ICC_SEND SmsManager.STATUS_ON_ICC_UNSENT

getStatusOnSim

Added in API level 4
int getStatusOnSim ()

此方法在API级别4中已弃用。
改用getStatusOnIcc。

返回SIM上消息的状态(读取,未读,已发送,未发送)。

Returns
int the status of the message on the SIM. These are: SmsManager.STATUS_ON_SIM_FREE SmsManager.STATUS_ON_SIM_READ SmsManager.STATUS_ON_SIM_UNREAD SmsManager.STATUS_ON_SIM_SEND SmsManager.STATUS_ON_SIM_UNSENT

getSubmitPdu

Added in API level 4
SmsMessage.SubmitPdu getSubmitPdu (String scAddress, 
                String destinationAddress, 
                String message, 
                boolean statusReportRequested)

获取目标地址和消息的SMS-SUBMIT PDU。 此方法不会尝试使用任何GSM国家语言7位编码。

Parameters
scAddress String: Service Centre address. Null means use default.
destinationAddress String
message String
statusReportRequested boolean
Returns
SmsMessage.SubmitPdu a SubmitPdu containing the encoded SC address, if applicable, and the encoded message. Returns null on encode error.

getSubmitPdu

Added in API level 4
SmsMessage.SubmitPdu getSubmitPdu (String scAddress, 
                String destinationAddress, 
                short destinationPort, 
                byte[] data, 
                boolean statusReportRequested)

获取一个SMS-SUBMIT PDU,将数据信息发送到目标地址和端口。 此方法不会尝试使用任何GSM国家语言7位编码。

Parameters
scAddress String: Service Centre address. null == use default
destinationAddress String: the address of the destination for the message
destinationPort short: the port to deliver the message to at the destination
data byte: the data for the message
statusReportRequested boolean
Returns
SmsMessage.SubmitPdu a SubmitPdu containing the encoded SC address, if applicable, and the encoded message. Returns null on encode error.

getTPLayerLengthForPDU

Added in API level 4
int getTPLayerLengthForPDU (String pdu)

获得给定SMS-SUBMIT PDU的TP层长基本上,长度以字节为单位(不是十六进制字符)少于SMSC头FIXME:此方法仅用于未在CDMA设备上运行的CTS测试用例。 我们应该弃用它并删除过时的测试用例。

Parameters
pdu String
Returns
int

getTimestampMillis

Added in API level 4
long getTimestampMillis ()

以currentTimeMillis()格式返回服务中心时间戳

Returns
long

getUserData

Added in API level 4
byte[] getUserData ()

如果存在用户数据部分,则返回用户数据部分。

Returns
byte[]

isCphsMwiMessage

Added in API level 4
boolean isCphsMwiMessage ()

对于CPHS MWI切换消息返回true。

Returns
boolean true if this is a CPHS MWI toggle message See CPHS 4.2 section B.4.2

isEmail

Added in API level 4
boolean isEmail ()

如果消息是电子邮件,则返回true。

Returns
boolean true if this message came through an email gateway and email sender / subject / parsed body are available

isMWIClearMessage

Added in API level 4
boolean isMWIClearMessage ()

如果此消息是CPHS语音邮件/消息等待指示符(MWI)清除消息,则返回true

Returns
boolean

isMWISetMessage

Added in API level 4
boolean isMWISetMessage ()

如果此消息是CPHS语音邮件/消息等待指示符(MWI)设置消息,则返回true

Returns
boolean

isMwiDontStore

Added in API level 4
boolean isMwiDontStore ()

如果此消息是“消息等待指示组:丢弃消息”通知并且不应存储,则返回true。

Returns
boolean

isReplace

Added in API level 4
boolean isReplace ()

见TS 23.040 9.2.3.9如果这是“替换短消息”SMS,则返回true

Returns
boolean

isReplyPathPresent

Added in API level 4
boolean isReplyPathPresent ()

如果在此消息中设置了 TP-Reply-Path位,则返回true。

Returns
boolean

isStatusReportMessage

Added in API level 4
boolean isStatusReportMessage ()

如果消息是SMS-STATUS-REPORT消息,则返回true。

Returns
boolean

Hooray!