37_短信数据库操作相关 :
(1)打开mmssms.db 在打开sms表 因为所有短信数据都储存在这张表上,下面分析一下这张表的字段。
_id 不用说了吧,标示它的唯一性
thread_id : 这个字段很重要,同一个会话中他们的thread_id是
一样的,也就是说通过thread_id就可以知道A与B在聊天 还是 A与C在聊天
date : 这条消息发送或接收的时间
read: 0 表示未读 1表示已读
type : 1表示接收 2 表示发出
body : 表示 消息的内容
(2)我们在看看thread_id指向的thread表
上图中可以清晰的看到 收到消息与回复消息的thread_id都为1 ,那么在thread_id这张表中
_id 不用说了吧,标示它的唯一性
date:表示最后接收或者发送消息的时间
message_count:表示消息的数量,这里我接收到了一条消息 也回复了一条消息那么它的数量就为2
recipient_ids:联系人ID,指向表 canonical_addresses 里的id。
snippet :最后收到或者发送的消息内容,就是上图body中存的东西
(3) sms表 uri 指向的是
private Uri sms_uri = Uri.parse("content://sms"); //sms表
private Uri thread_uri=Uri.parse("content://mms-sms/conversations?simple=true"); //thread_id表
(4)
<!--取得发短信的权限 -->
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />