1 / 11
文档名称:

Android开发学习教程—Android短信的收发及android模拟器实践(二).doc

格式:doc   大小:171KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Android开发学习教程—Android短信的收发及android模拟器实践(二).doc

上传人:2024678321 2017/2/11 文件大小:171 KB

下载得到文件列表

Android开发学习教程—Android短信的收发及android模拟器实践(二).doc

相关文档

文档介绍

文档介绍:... ... 引言前面我们介绍都只是如何发送 SMS 消息, 接下来我们介绍如何接收 SMS 消息,及另一种发短信的方式并增强为可以发生图片等,最后介绍一下 emulator 工具。本文的主要内容如下: 1~5 见 Android 开发之旅:短信的收发及在 android 模拟器之间实践(一) 6、温故知新之 Intent 7、准备工作: SmsMessage 类 8、 SMS 接收程序 9、另一种发送短信的方式:使用 Intent 10 、增强 SMS 为 MMS 6 、温故知新之 Intent 此系列前面简单地接受过意图( Intent ), 这里再次简单介绍一下, 在短信接收程序和使用 Intent 发送 SMS 中我们要用到。 android 应用程序的三大组件—— Activities 、 Services 、 Broadcast Receiver ,通过消息触发,这个消息就称作意图( Intent )。下面以 Acitvity 为例, 介绍一下 Intent 。 Androi d 用 Intent 这个特殊的类实现在 Activity 与 Activity 之间的切换。 Intent 类用于描述应用的功能。在 Intent 的描述结构中, 有两个最重要的部分: 动作和动作对应的数据。典型的动作类型有 MAIN 、 VIEW 、 PICK 、 EDIT 等,我们在短信接收程序中就用到从广播意图中提取动作类型并判断是否是” ”,进而作深一步的处理。而动作对应的数据则以 URI 的形式表示。例如,要查看一个人的联系方式, 需要创建一个动作为 VIEW 的 Intent ,以及表示这个人的 URI 。通过解析各种 Intent ,从一个屏幕导航到另一个屏幕是很简单的。当向前导... ... 航时, Activity 将会调用 startActivity( “指定一个 Intent ”) 方法。然后, 系统会在所有已安装的应用程序中定义的 IntentFilter 中查找,找到最匹配的 Intent 对应的 Activity 。新的 Activity 接收到指定的 Intent 的通知后, 开始运行。当 startActivity() 方法被调用时,将触发解析指定 Intent 的动作,该机制提供了两个关键的好处: Activity 能够重复利用从其他组件中以 Intent 形式产生的请求。 Activity 可以在任何时候被具有相同 IntentFilter 的新的 Activity 取代。 7 、准备工作: SmsMessage 类顾名思义, SmsMessage 类是一个表示短信的类, 为了更好地了解 Androi d 的短信机制及以后更好地编写短信相关程序,这里介绍一下该类的公有方法和常量,及嵌套枚举、类成员。公有方法: public static int[] calculateLength (CharSequence msgBody, boolean use7bitOnly) 参数: msgBody - 要封装的消息、 use7bitOnly - 如果为 TRUE ,不是广播特定 7- 比特编码的部分字符被认为是单个空字符;如果为 FALSE ,且 msgBody 包含非 7-比特可编码字符,长度计算使用 16- 比特编码。返回值: 返回一个 4个元素的 int 数组, int[0] 表示要求使用的 SMS 数量、 int[1] 表示编码单元已使用的数量、 int[2] 表示剩余到下个消息的编码单元数量、 int[3] 表示编码单元大小的指示器。 public static int[] calculateLength (String messageBody, boolean use7bitOnly) 参数和返回值跟上面类似 public static SmsMessage createFromPdu (byte[] pdu) 从原始的 PDU ( protocol description units )创建一个 SmsMessage 。这个方法很重要,在我们编写短信接收程序要用到,它从我们接收到的广播意图中获取的字节创建 SmsMessage 。 public String getDisplayMessageBody() 返回短信消息的主体,或者 Email 消息主体(如果这个消息来自一个 Email 网关) 。如果消息主体不可用, 返回 null 。这个方法也很重要,在我们编写短信接收程序也要用到。 public String getDisplayOriginatingAddress () 返回信息来源地址,或 Email 地址(如