Android SDK中单条短信的目的地号码是存储在sms表中的addresses字段中的.

Draft中的短信也是如此,但是有所例外.

如果你保存一条多地址的群发短信草稿时,Android的Messaging程式会将此条短信草稿保存到sms表中,type=3,但是这条记录的address字段却是空的,非常诡异,也许是Messaging程式不容许address字段中出现“,”号,所以它将这条短信的多条地址分条保存到canonical_addresses表中。

比如这条短信是发送给“11111111111”,“2222222222”,“3333333333”,“44444444444”的一条草稿短信,那么Messaging程式将这条短信的4条地址分别存入canonical_addresses表中,假设形成了_id分别为1,2,3,4的4条canonical_addresses记录,那么这条短信对应的threads表中的recipient_ids字段为1 2 3 4(数字中间用空格隔开)。这样,一条多地址的短信就对应了1条threads记录和多条canonical_addresses记录。

那么已发送的或已接受的短信没有一条记录是以这样的形式存在的,所以在发送这条短信的时候,Messaging程式又对这种类型的短信加入了特殊的处理。

发送该短信的时候,首先threads和canonical_addresses表中的内容不变,删除sms中这条草稿短信的记录,并将这条短信分为内容相同但地址单一且各不相同的4条短信,这时,每条短信上的address字段有了数据,并且为上面4个地址中的某一个,而Messaging程式的UI显示上4条短信也还是在一个会话中的相同内容短信的重复4次的显示。

所以,从这里可以看出,Android机自带的Messaging程式是主要以threads表为中心进行动作的,也就是以会话模式作为短信聊天的运作方式,而不是传统的发件箱收件箱之类的方式(中国移动联合Borqs开发的Ophone操作系统内兼备了2种短信管理方式,当然,Ophone发送此类短信的方式也是有别于纯Android的,就不在此描述了)。

Android群发短信草稿保存与发送机制相关推荐

  1. android群发短信时判断短信是否发送成功

    先注册一个broadcast: private BroadcastReceiver smsBroadcastReceiver = new BroadcastReceiver() { public vo ...

  2. Android 群发短信的实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. SmsManager是Android提供的一个服务,SmsManager提供了一系列sendXxxMessage()方法用于发送短信,不过短信通常 ...

  3. android群发短信到通讯录所有联系人上并动态替换其中联系人信息

    当我们要群发短信,而且需要替换里面的一些信息的时候(比如发送祝福短信,需要在短信里面加入对方姓名时), 做一个简单的群发短信的功能,并用通讯录里面的联系人姓名替换短信里面的#name#字符串,然后发送 ...

  4. android 发短信意图,安卓实现发送短信小程序代码示例

    这篇文章主要介绍了Android开发中实现发送短信的小程序示例,文中还附带了一个监听广播接收者的升级版短信发送例子,需要的朋友可以参考下 上图为代码结构图. 现在我们看下具体的代码. Send.jav ...

  5. android 群发短信

    public void sendSms(){ String mobile = getPhoneNums(); if (TextUtils.isEmpty(mobile)) { Toaster.show ...

  6. Android 群发短信试列

    首先的给权限:<uses-permission android:name="android.permission.SEND_SMS"/> java 中: package ...

  7. android发送短信的两种方式,发送长短信的两种方式,群发短信

    android 发送短信的方法 方法一:调用系统的短信APP,发送短信. Intent smsIntent = new Intent(Intent.ACTION_VIEW);smsIntent.set ...

  8. Android Mms短信的发送流程,短信发送源码解析

    发送前的校验 从短信的点击按钮开始着手: // packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java@Overrid ...

  9. Android内容提供者(群发短信)

    工程目录: Manifests添加读取联系人权限 <uses-permission android:name="android.permission.READ_CONTACTS&quo ...

最新文章

  1. 打开 hyper-v 批处理_如何控制批处理服务器
  2. POJ 1014 Dividing(多重背包 + 倍增优化)
  3. iOS 4的无线部署(Xcode3.2 及 Xcode4.2 图文解说)
  4. 微软鲍尔默:IE9浏览器将会在3月发布
  5. 日志查看技巧_10种Git技巧,让你省时省力又省心!
  6. Java伪代码之大道至简读后感
  7. java 之 单例模式(大话设计模式)
  8. [转载]上善若水,厚德载物
  9. 一次weblogic 在aix hacmp上调试过程
  10. 网络是怎样连接的学习笔记1----探索浏览器内部(十分适合理清思路)
  11. OpenWRT软件安装教程,安装的几种方法
  12. java爬取前程无忧(51job)
  13. 【内网学习笔记】25、Exchange 邮件服务器
  14. 温柔末世,慢慢到来的末日
  15. javaweb笔记(方立勋)
  16. modbus rtu 调试软件_一文最全解读Modbus 的RTU、ASCII、TCP
  17. (三)兴趣对于工作的重要性
  18. 视频多少帧时才不卡顿
  19. ImageLoader 修改个人头像
  20. 迅雷下载iso镜像失败(文件重命名失败)

热门文章

  1. android 关闭软键盘,点击软键盘之外关闭软键盘,editText关闭键盘
  2. netstat监控大量ESTABLISHED连接数和TIME_WAIT连接数问题分析及解决
  3. QQ伤感日志_回忆那么长,悲伤那么多
  4. 2019中国人工智能分类榜
  5. 我的世界服务器物品复制,我的世界服务器复制物品bug2018 | 手游网游页游攻略大全...
  6. 代码的简单设计五原则
  7. 支付宝小程序选择手机本地视频
  8. Go 语言-二维数组 -- 十安辰
  9. 心玮医疗赴港递交IPO:盈利预期未知,复星医药等退出股东行列
  10. 嵌入式的几种固件烧录方式