短信发送的是一个有序广播
接收短信是接收广播的行为
4.0之后,广播接收者所在的进程如果从来没有启动过,那么广播接收者不会生效。
即使广播接收者所在进程已经被关闭(系统自动关闭),当系统发出的广播的action跟该广播接收者的action匹
配时,系统会启动该广播所在的进程,并把广播发给广播接收者。
但是如果用户强制关闭进程,只有下次用户手动开启广播时,才能生效。
SmsMessage类
常用方法:
static SmsMessage createFromPdu(byte[]pdu)
作用:利用pdud(协议数据单元),创建一个Message对象,
byte[] getPdu()
作用:从短信中得到Pdu的字节数组
String getOriginatingAddress()
作用:返回要发送短信的号码(sender)
String getMessageBody()
作用:得到短信内容
final class SMSManager类(不可被继承)
final ArrayList<String> divideMessage(String text)
作用:将一个短信分割成几部分。(短信的最大长度为70字节)
static SMSManager getDefault()
作用:得到SmsManager的默认实例
void sendDataMessage(String destinationAddress,String
scAddress,ArrayList<String>parts,ArrayList<PendingIntent>sendIntent,PendingIntent deliveryIntent)
作用:基于短信向特定应用端口发送数据
void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent
sentIntent, PendingIntent deliveryIntent)
作用:基于短信发送文本
接收短信是接收广播的行为
4.0之后,广播接收者所在的进程如果从来没有启动过,那么广播接收者不会生效。
即使广播接收者所在进程已经被关闭(系统自动关闭),当系统发出的广播的action跟该广播接收者的action匹
配时,系统会启动该广播所在的进程,并把广播发给广播接收者。
但是如果用户强制关闭进程,只有下次用户手动开启广播时,才能生效。
SmsMessage类
常用方法:
static SmsMessage createFromPdu(byte[]pdu)
作用:利用pdud(协议数据单元),创建一个Message对象,
byte[] getPdu()
作用:从短信中得到Pdu的字节数组
String getOriginatingAddress()
作用:返回要发送短信的号码(sender)
String getMessageBody()
作用:得到短信内容
final class SMSManager类(不可被继承)
final ArrayList<String> divideMessage(String text)
作用:将一个短信分割成几部分。(短信的最大长度为70字节)
static SMSManager getDefault()
作用:得到SmsManager的默认实例
void sendDataMessage(String destinationAddress,String
scAddress,ArrayList<String>parts,ArrayList<PendingIntent>sendIntent,PendingIntent deliveryIntent)
作用:基于短信向特定应用端口发送数据
void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent
sentIntent, PendingIntent deliveryIntent)
作用:基于短信发送文本