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 | 用于指明该消息是否已被用户看到(非阅读,点开会话列表即可,不用打开会话),仅对收到的消息有用 |