android中的telephony学习笔记(3)-SmsManager

来源:互联网 发布:华彬网络商学院 编辑:程序博客网 时间:2024/06/07 05:48

SmsManager


管理SMS的操作,例如发送数据,文本,pdu的sms信息。通过静态方法getDefault()得到该对象。


Constants


  • RESULT_ERROR_GENERIC_FAILURE:失败原因
  • RESULT_ERROR_NO_SERVICE:由于当前服务无效产生的失败
  • RESULT_ERROR_NULL_PDU:由于无pdu数据提供产生的失败
  • RESULT_ERROR_RADIO_OFF:由于射频关闭造成的失败
  • STATUS_ON_ICC_FREE:空闲空间(TS 51.011 10.5.3/3GPP2 C.S0023 3.4.27)
  • STATUS_ON_ICC_READ:接收和读取(TS 51.011 10.5.3/3GPP2 C.S0023 3.4.27)
  • STATUS_ON_ICC_SENT:存储和发送(TS 51.011 10.5.3/3GPP2 C.S0023 3.4.27)
  • STATUS_ON_ICC_UNREAD:接收但未读(TS 51.011 10.5.3/3GPP2 C.S0023 3.4.27)
  • STATUS_ON_ICC_UNSENT:存储但未发送(TS 51.011 10.5.3/3GPP2 C.S0023 3.4.27)


Methods


ArrayList<String> divideMessage(String text)


将一个文本信息划分为不同的部分,不能为空


static SmsManage getDefault()


得到SmsManager对象


void sendDataMessage(String,String,short,byte[],PendingIntent,PendingIntent)


需要权限:SEND_SMS。向特殊应用端口发送短信。

参数1:地址

2:信息服务中心的地址

3.向哪个端口传送信息

4.信息的主题部分

5.如果不为空的话,代表当信息成功发送时结果为Activity.RESULT_OK。失败有很多code,对于Result_error_generic_failure的intent包含射频技术特殊值得errorCode的信息,通常用于排错,基于sms的控制应用都要check这个intent.如果为null.调用方会检查所有未知的应用程序,这些应用程序在该时期会发送一些少量的sms信息。

6.如果不为空会在接收方发送一个广播。原生pdu状态报告会存储在字段“pdu”中


void sendMultipartTextMessage(String,String,ArrayList<String>,ArrayList<PendingIntent>,ArrayList<PendingIntent>)


发送多重部分sms信息。被调者通过调用divideMessage将该信息分成正确大小的信息。需要权限:SEND_SMS


void sendTextMessage(String,String,String,PendingIntent,PendingIntent)


发送一个文本信息



0 0
原创粉丝点击