android典型程式碼系列(二十九)------簡訊資料庫操作相關

fandong12388發表於2015-12-06

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" />   

相關文章