安卓开发:利用广播接收者监听短信

需积分: 13 5 下载量 14 浏览量 更新于2024-08-13 收藏 1.09MB PPT 举报
"使用广播接收者窃听短信-安卓开发课件" 在安卓开发中,广播接收者(BroadcastReceiver)是一个关键组件,它允许应用程序监听并响应系统或其它应用发出的广播事件。在这个特定的场景中,我们关注的是如何通过广播接收者来监听并处理短信的接收。当你想要在后台监控或操作用户接收到的短信时,可以使用此类方法。 首先,创建一个名为`IncomingSMSReceiver`的类,让它继承自`BroadcastReceiver`。在这个类中,重写`onReceive()`方法。当系统接收到短信时,会发送一个带有`action`为`android.provider.Telephony.SMS_RECEIVED`的广播Intent。在`onReceive()`方法内,我们需要检查接收到的Intent的`action`是否匹配这个特定的字符串。如果匹配,我们可以使用`SmsManager`类来处理短信。 `SmsMessage`类是处理短信内容的核心。从Intent的`extras`中,我们可以通过键`pdus`获取到短信的原始数据。这些数据会被转换成`SmsMessage`对象的数组。遍历这个数组,我们就可以获取每条短信的详细信息,如短信正文(`getMessageBody()`)和发件人地址(`getOriginatingAddress()`). 为了使广播接收者生效,需要在`AndroidManifest.xml`文件中注册它。在`<application>`标签下添加一个`<receiver>`标签,指定接收者的类名,并且在`<intent-filter>`标签内声明对应的`action`。 此外,为了能够接收和发送短信,还需要在`AndroidManifest.xml`文件中声明相应的权限。`RECEIVE_SMS`权限允许应用接收短信,而`SEND_SMS`权限则允许应用发送短信。 关于3G通信的介绍,3G(第三代移动通信)是数字通信系统的一个里程碑,它结合了无线通信和国际互联网,支持多媒体通信,包括图像、音乐和视频。3G标准包括WCDMA、CDMA2000和TD-SCDMA。在中国,三大运营商分别使用不同的3G制式:中国联通采用WCDMA,中国电信采用CDMA2000,中国移动采用TD-SCDMA。 在3G向4G过渡期间,2.5G技术如CDMA20001X和GPRS起到了衔接作用,它们提高了数据传输速度,为用户提供如WAP和蓝牙等服务。 Android系统的发展历程也非常有趣,每个主要版本通常以甜点命名,如1.5版的Cupcake、1.6版的Donut、2.1版的Éclair、2.3版的Gingerbread,以及后续的Froyo、Gingerbread等,直至最新的果冻豆(JellyBean)版本。这种命名方式使得Android版本更加生动有趣,也成为了其文化的一部分。 总结来说,本文提供了关于安卓开发中使用广播接收者监听短信的方法,以及3G通信技术和Android系统版本演变的简要介绍。理解这些知识点对于安卓开发者来说至关重要,它们涉及到应用的功能扩展和用户体验优化。