Android短信数据库基础 读取Android系统所有短信
读取Android短信会话列表
读取指定号码短信列表
Androiod手机系统的短信数据库路径为:
/data/data/phony/dababases/
Android系统手机短信数据库共有18个表:
一般情况下,对手机短信数据库的操作,主要涉及到三个表:
Canonical_addresses表
Threads表
Sms表
这三个表之间是有一定关联的,通过这三个表,能够获取系统所有的短信,能够获取短信会话列表,也能够获取某一联系人的短信列表。
“短信会话列表”与“某一联体系人的短信列表”的区别:
如下图:
点击手机中的短信图标,进入短信界面时,能够看到手机中所有联系人的短信列表(下图左)
点击下面左边图片中的某一联系人后,就能进入与该联系人的短信来往列表(下图右)
上面说到的三个表中,Canonical_addresses与Threads表对应于下面左边图片的界面;Sms表对应系统所有的`短信内容。
如果要获取系统短信会话列表(上图左),则首先,需要从Canonical_addresses表 中获取addresses列表,其中的每一条记录对应于上图左中的一个联系人;
获取addresses列表后,通过 Canonical_addresses表中的ID来到thread表中查询“短信会话列表”,注意:Canonical_addresses表中的ID 字段与thread表中的recipient_ids字段相对应。
它们这之间的具体关系其实蛮简单的,只要把手机里的短信内容和数据库中的内容对比着一看就能搞清楚,如下图: