使用广播接收者监听短信课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《使用广播接收者监听短信课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 广播 接收者 监听 短信 课件
- 资源描述:
-
1、第一章 短信安全短信发送和拦截2学习目标v了解在了解在Android中如何实现短信发中如何实现短信发送与接收功能送与接收功能v短信拦截作用及其必要性短信拦截作用及其必要性v通过运行两个通过运行两个Android模拟器,介模拟器,介绍在绍在Android中如何实现短信服务中如何实现短信服务(SMS,short message service)的功能。的功能。v短信 short message service,简称SMS 是用户通过手机或其他电信终端直接发送或接收的文字或数字信息,用户每次能接收和发送短信的字符数,是160个英文或数字字符,或者70个中文字符。android 短信流程分析v系统的短
2、信库存在系统的短信库存在data/data/com.android.providers.telephony/databases/mmssms.db1 SMS发送APIvAndroid 使用SmsManager发送短信vpublic void sendTextMessage(String destinationAddress,String scAddress,String text,PendingIntent sentIntent,PendingIntent deliveryIntent)destinationAddress:收件人地址scAddress:短信中心号码,空为默认中心号码sentI
3、ntent:当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。deliveryIntent:当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data(“pdu”)中。抛出 IllegalArgumentException 如果收件人或者信息为空。1 SMS发送APIvpublic static PendingIntent getBroadcast(Context context,int requestCode,Intent intent,int
4、 flags)返回一个用于广播的PendingIntent,类似于调用Context.sendBroadcast()函数,requestCode 暂时不用intent 是用于广播的intentflags 有:FLAG_ONE_SHOT,FLAG_NO_CREATE,FLAG_CANCEL_CURRENT,FLAG_UPDATE_CURRENT 用于设置新建的PendingIntent是使用一次、如无则不创建、取消当前、更新当前等属性。vvoid sendMultipartTextMessage(String destinationAddress,String scAddress,ArrayLi
5、st parts,ArrayList sentIntents,ArrayList deliverIntents)发送一个基于SMS的多部分文本,调用者应用已经通过调用divideMessage(String text)将消息分割成正确的大小。2 SMS发送程序分析v讲解例子SendDemov第一步:设计界面2 SMS发送程序分析第一步:设计界面v编辑布局文件res/layout/main.xmlv在res/values/strings.xm中添加上面定义的视图的text的值2 SMS发送程序分析第二步:编写代码实现简单的短信发送 在java源文件中,获取用户在edtPhoneNo中输入的电话号
6、码,edtContent中输入要发送的内容;然后点击btnSend按钮发送短信,要达到这个目的我们要设置btnSend的OnClickListener以达到当点击它触发发送短信的功能,而且要发送短信就要用到我们前面介绍的SmsManager类提供的方法接口。vbtnSend的OnClickListener的代码v发送短信的功能的代码sendSMS2 SMS发送程序分析第三步:在清单文件AndroidManifest.xml中加入允许发送短信的权限课堂练习1v增强发送短信功能,使其能够发送超长短信以及查看短信是否成功被接收v解决办法:为了跟踪发出的短信的状态,需要修改sendTextMessag
7、e方法中的第4个和第5个参数,即sentIntent和deliveryIntent。第4个参数-sendIntent,当消息成功发送或发送失败都将被触发。广播接收者的结果码,Activity.RESULT_OK表示成功,或RESULT_ERROR_GENERIC_FAILURE、RESULT_ERROR_RADIO_OFF、RESULT_ERROR_NULL_PDU之一表示错误。对应RESULT_ERROR_GENERIC_FAILURE,sentIntent可能包括额外的“错误代码”包含一个无线电广播技术特定的值,通常只在修复故障时有用。第5个参数-deliveryIntent,仅当目标接收
8、到你的SMS消息才触发。3 SMS拦截APIv演示一个小例子:通过DDMS给SendDemo虚拟机发送一条短信v广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收,这个特性跟JMS中的Topic消息接收者类似。3 SMS拦截APIvBroadcastReceiver是android中用处巨大的异步消息机制。一个BroadcastReceiver对象的生
9、命周期不超过5秒,不能绑定服务和做一些耗时的操作,但是用来接收信息则戳戳有余。vpublic void onReceive(Context context,Intent intent)3 SMS拦截APIv广播接收者的响应 在Android中,每次广播消息到来时都会创建BroadcastReceiver实例并执行onReceive()方法,onReceive()方法执行完后,BroadcastReceiver 的实例就会被销毁。当onReceive()方法在10秒内没有执行完毕,Android会认为该程序无响应。所以在BroadcastReceiver里不能做一些比较耗时的操作,否则会弹出AN
展开阅读全文