public class SmsMessage
extends Object
java.lang.Object
android.telephony.SmsMessage
类概述
一个短信服务信息类
摘要
内部类Nested Classes | ||
enum | SmsMessage.MessageClass | 短信服务类枚举 |
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 | 每条信息按7位字节算最大输入字符数量 |
int | MAX_USER_DATA_SEPTETS_WITH_HEADER | 包含用户数据头每条信息信息体按7位字节算最大输入字符数量 |
公共方法Public Methods | |
Static int[] | calculateLength(CharSequence msgBody,boolean use7bitOnly) 计算短信服务所需要的信息体编码后的长度和剩余的字符长度直到下一条消息 参数 msgBody 被编码的信息 use7bitOnly 如果为真,则字符串被当作7-bit位计算。如果为假,信息体用的是非7-bit方式编码,信息长度将被用16-bit来计算。 返回值 int[4]内容如下: int[0]为短信所需的长度 int[1]每个单元字符所使用的长度 int[2]直到下一个message剩余的长度 int[3]编码单元大小的指标 |
Static int[] | calculateLength(String msgBody,boolean use7bitOnly) 计算短信服务所需要的信息体编码后的长度和剩余的字符长度直到下一条消息 参数 msgBody 被编码的信息 use7bitOnly 如果为真,则字符串被当作7-bit位计算。如果为假,信息体用的是非7-bit方式编码,信息长度将被用16-bit来计算。 返回值 int[4]内容如下: int[0]为短信所需的长度 int[1]每个单元字符所使用的长度 int[2]直到下一个message剩余的长度 int[3]编码单元大小的指标 |
Static SmsMessage | createFromPdu(byte[] pdu) 从原始的pdu创建一个SmsMessage |
String | getDisplayMessageBody() 返回信息体,如果信息是从email网关获得的则返回email信息体。如果信息体无法获取则返回null |
String | getDisplayOriginatingAddress() 返回发信人地址,如果是email获取的message则返回email地址。如果地址无法获取则返回null |
String | getEmailBody() 如果判断是email则信息通过网关发出 |
String | getEmailFrom() 判断如果是email获取email发信人地址 |
Int | getIndexOnIcc() 返回集成电路卡(估计就是sim卡)上信息记录的索引(从1开始计数),如果该条SmsMessage不是ICC SMS EF 记录则返回-1 |
Int | getIndexOnSim() 该方法被舍弃,建议使用getIndexOnIcc() |
String | getMessageBody() 如果该条信息存在并且是文本类型的则返回该条信息体Message Body as String |
SmsMessage.MessageClass | getMessageClass() 返回Message这个类 |
String | getOriginatingAddress() 返回当前信息的发送人地址,如果不可用返回null |
byte[] | getPdu() 通过当前message返回原始pdu |
Int | getProtocolIdentifier() 获取协议标识符 |
String | getPseudoSubject() 获取非正式约定的主题,如果没有返回空字符串 |
String | getServiceCenterAddress() 返回当前短讯息所使用的短讯服务中心号码,如果没有返回null |
Int | getStatus() GSM:从状态报告中获取状态字段并返回。这个字段表面了之前提交的短讯状态。详见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描述 |
Int
| getStatusOnIcc() 返回ICC(估计是sim卡类似)上该条message状态。有以下几类: SmsManager.STATUS_ON_ICC_FREE SmsManager.STATUS_ON_ICC_READ SmsManager.STATUS_ON_ICC_UNREAD SmsManager.STATUS_ON_ICC_SEND SmsManager.STATUS_ON_ICC_UNSEND |
Int
| getStatusOnSim() 返回sim中该条message状态 SmsManager.STATUS_ON_SIM_READ SmsManager.STATUS_ON_SIM_UNREAD SmsManager.STATUS_ON_SIM_SEND SmsManager.STATUS_ON_SIM_UNSEND |
Static SmsMessage.SubmitPdu | getSubmitPdu(String scAddress,String destinationAddress,short destinationPort,byte[] data,boolean statusReportRequested) 参数 scAddress 短讯服务中心地址,默认值null destinationAddress 短讯目的地址 destinationPort 短讯目的端口 data 数据主体 statusReportRequested 报告返回状态 返回 提交的数据报文,包含编码后的信息,编码后的短信中心地址(如果有)。如遇编码错误返回null |
Static SmsMessage.SubmitPdu | getSubmitPdu(String scAddress,String destinationAddress,String message,boolean statusReportRequested) 参数 scAddress 短讯服务中心地址,默认值null destinationAddress 短讯目的地址 message 数据主体 statusReportRequested 报告返回状态 返回 提交的数据报文,包含编码后的信息,编码后的短信中心地址(如果有)。如遇编码错误返回null |
Static int | getTPLayerLengthForPDU(String pdu) 返回给定的提交讯息基础上TP层长度,这个长度以字节为单位(非16进制字符)不包含SMSC头文件
|
Long | getTimestampMillis() 返回当前时间以currentTimeMillis()编码 |
byte[] | getUserDate() 返回用户数据段中减去用户数据头的数据。 |
Boolean | isCphsMwiMessage() 如果为true则是CPHS MWI 触发的信息。详见CPHS 4.2 中B.4.2章节 |
Boolean | isEmail() 如果为true,则信息为email。 |
Boolean | isMWIClearMessage() 如果返回true,则该信息是一条CPHS的语音邮件或者讯息等待(MWI)清除信息 |
Boolean | isMWISetMessage() 如果返回true,则该信息是一条CPHS的语音邮件或者讯息等待(MWI)设置信息 |
Boolean
| isMWIDontStore() 如果为true,则该条信息为“讯息等待标记组:丢弃信息”提示,不需要存储 |
Boolean | isReplace() 如果为true表示该信息是一条“更换短信息”。详见TS 23.040 9.2.3.9 |
Boolean
| isReplyPathPresent() 如果为true,则该条信息被设置了TP-Reply-Path位 |
Boolean | isStatusReportMessage() 返回真则该条信息为短信服务状态报告讯息 |