Android中Telephony学习笔记(4)-SmsMessage

本文介绍了一个短信处理API,包括其核心类SmsMessage及其内部类和枚举类。详细解析了短信信息处理的方法,如创建短信对象、获取短信内容及状态等,并提供了关键常量的说明。

SmsMessage


短信信息类,包含一个内部类,一个枚举类。

  • class SmsMessage.SubmitPdu
  • enum SmsMessage.MessageClass


Constants

ENCODING_16BIT

ENCODING_7BIT

ENCODING_8BIT


信息字符集的3种类型


ENCODING_UNKNOWN


未知数据类型


MAX_USER_DATA_BYTES


每条信息的8为字节最大有效荷载字节数


MAX_USER_DATA_BYTES_WITH_HEADER


如有包含信息头文件的短信,该文件的最大有效荷载字节数,假设短信头为8_BIT


MAX_USER_DATA_SEPTETS


有效荷载7位字节的最大值


MAX_USER_DATA_SEPTETS_WITH_HEADER


包含头文件CONCATENATED_8_BIT_REFERENCE。有效荷载最大值为7位字节的用户数据


Methods


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

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


估算短信信息所需的消息体以及距离下一条短信的字符数


public static SmsMessage createFromPdu (byte[] pdu)


从原生PDU信息中得到smsMessage对象


public String getDisplayMessageBody ()


得到邮件网关消息显示部分的正文部分


public String getDisplayOriginatingAddress ()


得到邮件网关发信人地址信息。

public String getEmailBody ()


如果是email信息,获得从网关传递过来的email信息的实体部分


public String getEmailFrom ()


邮件发送人的地址


public int getIndexOnIcc ()


返回ICC上的信息的记录索引


public String getMessageBody ()


得到文本信息的实体部分


public SmsMessage.MessageClass getMessageClass ()


得到MessageClass这个类对象


public String getOriginatingAddress ()


从短信信息中以string的信息得到发件人的地址信息


public byte[] getPdu ()


得到原生的pdu信息


public int getProtocolIdentifier ()


得到协议ID


public String getPseudoSubject ()


获得假冒的主题,非官方的会话主题如果不是当前显示的话会显示在一个空括号里。


public String getServiceCenterAddress ()


传递这条信息的信息服务中心地址


public int getStatus ()


信息发送的状态


public int getStatusOnIcc ()


ICC中的信息状态,read,unread,sent,unsent


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

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


得到内部类SubmitPdu对象


public static int getTPLayerLengthForPDU (String pdu)


得到PDU的TP层的长度


public long getTimestampMillis ()


时间戳


public byte[] getUserData ()


用户信息数据


public boolean isCphsMwiMessage ()


如果是CPHS MWI开关的信息,返回true.

public boolean isEmail ()


判断是否是一个email信息


public boolean isMWIClearMessage ()


如果清楚了NWI的信息,则返回True;


public boolean isMWISetMessage ()


如果是一个设置了NWI的信息,则返回true;


public boolean isMwiDontStore ()


如果消息是一个“Message Waiting Indication Group: Discard Message”而且没保存会返回true.


public boolean isReplace ()


如果是一个“replace short message”,返回true.


public boolean isReplyPathPresent ()


判断Tp_reply_path是否已经设置


public boolean isStatusReportMessage ()
判断是否是SMS-STATUS-REPORT信息


SubmitPdu


就2个字段,一个toString方法




MessageClass




具体内容不详,官方也没给出任何解释。就是一句SMS信息类的枚举。
























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值