短讯服务信息SmsMessage

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 如果为真,则字符串被当作7bit位计算。如果为假,信息体用的是非7bit方式编码,信息长度将被用16bit来计算。

返回值

int[4]内容如下:

int[0]为短信所需的长度

int[1]每个单元字符所使用的长度

int[2]直到下一个message剩余的长度

int[3]编码单元大小的指标

Static int[]

calculateLength(String msgBody,boolean use7bitOnly)

计算短信服务所需要的信息体编码后的长度和剩余的字符长度直到下一条消息

参数

msgBody 被编码的信息

use7bitOnly 如果为真,则字符串被当作7bit位计算。如果为假,信息体用的是非7bit方式编码,信息长度将被用16bit来计算。

返回值

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的状态代码互相干扰,数值转移到3116位。数值由一个2524位的错误类和2316位的状态代码组成。可以通过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()
建议使用getStatusOnIcc()

返回sim中该条message状态
SmsManager.STATUS_ON_SIM_FREE

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()

返回真则该条信息为短信服务状态报告讯息


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值