如果想跳过数据库介绍,直接看数据库操作代码的话,请点击这里:

读取Android短信

—————————————–

Android短信数据库:

读取Android系统所有短信

读取Android短信会话列表

读取指定号码短信列表

Androiod手机系统的短信数据库路径为:/data/data/com.android.providers.telephony/dababases/mmssms.db

Android系统手机短信数据库共有18个表:

一般情况下,对手机短信数据库的操作,主要涉及到三个表:

Canonical_addresses表

Threads表

Sms表

这三个表之间是有一定关联的,通过这三个表,能够获取系统所有的短信,能够获取短信会话列表,也能够获取某一联系人的短信列表。

“短信会话列表”与“某一联体系人的短信列表”的区别:

如下图:

点击手机中的短信图标,进入短信界面时,能够看到手机中所有联系人的短信列表(下图左)

点击下面左边图片中的某一联系人后,就能进入与该联系人的短信来往列表(下图右)

上面说到的三个表中,Canonical_addresses与Threads表对应于下面左边图片的界面;Sms表对应系统所有的短信内容。

如果要获取系统短信会话列表(上图左),则首先,需要从Canonical_addresses表中获取addresses列表,其中的每一条记录对应于上图左中的一个联系人;获取addresses列表后,通过Canonical_addresses表中的ID来到thread表中查询“短信会话列表”,注意:Canonical_addresses表中的ID字段与thread表中的recipient_ids字段相对应。

它们这之间的具体关系其实蛮简单的,只要把手机里的短信内容和数据库中的内容对比着一看就能搞清楚,如下图:

更多相关文章

  1. android删除android拦截短信并删除该条短信
  2. 【Android】获取WIFI列表简单小例子
  3. Android(安卓)之 发送短信
  4. Android:解决列表滚动时背景色变黑的方法
  5. Android(安卓)发送短信 源代码
  6. 关于文字颜色/图片背景---selector状态列表
  7. [置顶] 调用Android发短信接口Intent.ACTION_SENDTO
  8. Android短信发送和监控
  9. 【Android】_SmsReceicer_短信监听

随机推荐

  1. [Unity][安卓]Unity Android SDK配置
  2. ActionBarSherlock中的搜索及SearchView
  3. 三分钟学会缓存工具DiskLruCache
  4. 如何生成 AAC ADTS 基本流与 Android Med
  5. 在android中button响应的两种方式
  6. Android(安卓)Camera应用初探二
  7. 关于Gallery使用
  8. android query框架介绍
  9. Android Activity 之 重新创建
  10. Android(安卓)逐帧动画isRunning 一直返