Android 开发之旅:短信的收发及在android模拟器之间实践(一).docVIP

  • 4
  • 0
  • 约1.18万字
  • 约 12页
  • 2018-06-22 发布于河南
  • 举报

Android 开发之旅:短信的收发及在android模拟器之间实践(一).doc

Android 开发之旅:短信的收发及在android模拟器之间实践(一)

Android 开发之旅:短信的收发及在android模拟器之间实践(一) 分类:?Android2010-12-03 16:20?147人阅读?评论(0)?收藏?举报 引言 本文通过运行两个Android模拟器,介绍在Android中如何实现短信服务(SMS,short message service)的功能。通过这个例子,我想带给大家的是:更加熟悉之前介绍过的Android应用程序的概念及技术细节,且通过实例调度大家的兴趣。我之所以选择SMS为例子,主要原因是SMS已经非常成熟了,从中可以发掘更多的信息和技术细节,而且我相信大部分人发短信比打电话多。 本文的主要内容如下: 1、温故知新 2、准备工作:SMS涉及的主要类SmsManager 3、简单的SMS发送程序 3.1、运行SMS程序给另一个android模拟器发短 4、SMS增强(一) 5、SMS增强(二) 6、SMS接收程序(下篇) 7、emulator工具(下篇) 8、… 1、温故知新 广播接收者:一个广播接收者是这样一个组件,它不做什么事,仅是接受广播公告并作出相应的反应。许多广播源自于系统代码,例如公告时区的改变、电池电量低、已采取图片、用户改变了语言偏好。应用程序也可以发起广播,例如为了他其他程序知道某些数据已经下载到设备且他们可以使用这些数据 BroadcastReceiver类:是接受sendBroadcast()发送的意图(intents)的基类。可以用Context.registerReceiver()动态地注册这个类的实例,或者通过AndroidManifest.xml中标签静态发布。 广播接收者不显示一个用户界面。然而,它们启动一个活动去响应收到的信息,或者他们可能使用NotificationManager去通知用户。通知可以使用多种方式获得用户的注意——闪烁的背光、振动设备、播放声音等等。典型的是放在一个持久的图标在状态栏,用户可以打开获取信息。 2、准备工作:SMS涉及的主要类SmsManager 实现SMS主要用到SmsManager类,该类继承自java.lang.Object类,下面我们介绍一下该类的主要成员。 公有方法: ArrayList?divideMessage(String text)? 当短信超过SMS消息的最大长度时,将短信分割为几块。? 参数:text——初始的消息,不能为空? 返回值:有序的ArrayList,可以重新组合为初始的消息 static SmsManager?getDefault()? 获取SmsManager的默认实例。? 返回值:SmsManager的默认实例 void?SendDataMessage(String destinationAddress,?String scAddress,?short destinationPort,?byte[] data,?PendingIntent sentIntent, PendingIntent deliveryIntent)? 发送一个基于SMS的数据到指定的应用程序端口。? 参数:? 1)、destinationAddress——消息的目标地址? 2)、scAddress——服务中心的地址or为空使用当前默认的SMSC 3)destinationPort——消息的目标端口号? 4)、data——消息的主体,即消息要发送的数据? 5)、sentIntent——如果不为空,当消息成功发送或失败这个PendingIntent就广播。结果代码是Activity.RESULT_OK表示成功,或RESULT_ERROR_GENERIC_FAILURE、RESULT_ERROR_RADIO_OFF、RESULT_ERROR_NULL_PDU之一表示错误。对应RESULT_ERROR_GENERIC_FAILURE,sentIntent可能包括额外的“错误代码”包含一个无线电广播技术特定的值,通常只在修复故障时有用。? 每一个基于SMS的应用程序控制检测sentIntent。如果sentIntent是空,调用者将检测所有未知的应用程序,这将导致在检测的时候发送较小数量的SMS。? 6)、deliveryIntent——如果不为空,当消息成功传送到接收者这个PendingIntent就广播。? 异常:如果destinationAddress或data是空时,抛出IllegalArgumentException异常。 void?sendMultipartTextMessage(String destinationAddress,?String scAddress,?ArrayList?parts,ArrayList sentIntents, ArrayList?deliver

文档评论(0)

1亿VIP精品文档

相关文档