Android MMS 数据存取数据表
MMS模块总共包含17张表:addr、Android_metadata、attachments、canonical_addresses、drm、part、pdu、pending_msgs、rate、raw、sms、sr_pending、threads、words、words_content、words_segdir、words_segments。
其中,pending_msgs表用于存储待发送或下载的短信与彩信(有待证实),使用pdu中的触发器进行插入和删除。raw表用于存储接收中的长短信或分段彩信通知。drm用于彩信权限管理。words开头的表存储了短彩信中的单词,用于搜索时使用。attachments、rate、sr_pending表作用未知。android_metadata表存储的是语言信息,就一条记录。
下面是一些常用表的字段及其说明:
threads表
列名 | 类型 | 说明 |
_id | integer | 唯一标识,自增,从1开始 |
date | integer | 会话最新更新时间 |
message_count | integer | 当前会话所包含的消息数量 |
recipient_ids | text | 接收者(canonical_addresses表的id)列表,所有接收者以空格隔开 |
snippet | text | 最新更新的消息的内容(彩信为主题,短信为正文) |
snippet_cs | integer | snippet的编码方式,彩信:UTF-8为106,短信为0 |
read | integer | 是否有未读信息:0-未读,1-已读 |
type | integer | 会话类型,0-普通会话(只有一个接收者),1-广播会话(多个接收者) |
error | integer | 发送失败的消息(type=5)的数量 |
has_attachment | integer | 是否有附件:0-无,1-有 |
sms表
列名 | 类型 | 说明 |
_id | integer | 唯一标识,自增,从1开始 |
thread_id | integer | threads表的id |
address | text | 接收者手机号码,对于一个会话,有可能含有多个接收者,每个人都将收到一条短信 |
person | integer | 联系人(模块)列表里的序号,陌生人为null |
date | integer | 时间,以豪秒来表示 |
protocol | integer | 协议,分为:0-SMS_RPOTO,1-MMS_PROTO。成功发送后设置。 |
read | integer | 是否阅读:0-未读,1-已读 |
status | integer | 状态:-1默认值,0-complete,64-pending,128-failed |
type | integer | ALL=0;INBOX=1;SENT=2;DRAFT=3;OUTBOX=4;FAILED=5;QUEUED=6; |
reply_path_present | integer | TP-Reply-Path位的值 0/1 |
subject | text | 短信的主题,默认为空 |
body | text | 短信内容 |
service_center | text | 短信服务中心号码编号 |
locked | integer | 此条短信是否已由用户锁定,0-未锁定,1-已锁定 |
error_code | integer | 错误代码,有哪些值暂时未知 |
seen | integer | 用于指明该消息是否已被用户看到(非阅读,点开会话列表即可,不用打开会话),仅对收到的消息有用 |