標籤:
一.連絡人和通話記錄: 資料庫檔案/data/data/com.android.providers.contacts/databases/contacts2.db
通話記錄的資料存在calls表中; 連絡人資料存放在raw_contacts和data表裡,兩個表構成主從表關係.
1.連絡人(contacts2.db)
每個連絡人在raw_contacts表裡有一條記錄,但地址\名稱\email\電話等等資料存放在data表中.
(1)mimetypes表
_id mimetype
1 vnd.android.cursor.item/email_v2
2 vnd.android.cursor.item/im
3 vnd.android.cursor.item/nickname
4 vnd.android.cursor.item/organization
5 vnd.android.cursor.item/phone_v2
6 vnd.android.cursor.item/sip_address
7 vnd.android.cursor.item/name
8 vnd.android.cursor.item/postal-address_v2
9 vnd.android.cursor.item/identity
10 vnd.android.cursor.item/photo
11 vnd.android.cursor.item/group_membership
12 vnd.android.cursor.item/website
13 vnd.android.cursor.item/note
(2)data表
欄位列表:_id package_id mimetype_id raw_contact_id is_read_only is_primary is_super_primary data_version data1 data2 data3 data4 data5 data6 data7 data8 data9 data10 data11 data12 data13 data14 data15 data_sync1 data_sync2 data_sync3 data_sync4
raw_contact_id:此值對應raw_contacts表的_id值.data表中每個連絡人會有多行資料,同一個連絡人而言,此值是相同的.
mimetype_id:對應mimetypes表的類型.由mimetypes表可知,data表中的資料,如果mimetype_id值為7表示存的是姓名,5表示存的是號碼.
其它資訊需要根據mimetype_id指示的類型具體分析
姓名資料:Uri(content://com.android.contacts/data)
Uri對應的宏為:android.provider.ContactsContract.Data.CONTENT_URI
data1欄位: 姓名完整名稱
data2欄位: 名GIVEN_NAME
data3欄位: 姓FAMILY_NAME
data4欄位: 姓名首碼PREFIX
data5欄位: 中間名MID_NAME
data6欄位: 姓名尾碼SUFIX
data7欄位: 名字拼音SUFIX_PINYIN
data8欄位: 中間名拼音MID_PINYIN
data9欄位: 姓氏拼音FAMILY_NAME_PINYIN
電話資料:Uri(content://com.android.contacts/data/phones)
Uri對應的宏為:android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI
data1欄位: 完整的電話號碼
data2欄位: 電話類型
電話類型資訊如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_MOBILE = 2;
TYPE_WORK = 3;
TYPE_FAX_WORK = 4;
TYPE_FAX_HOME = 5;
TYPE_PAGER = 6;
TYPE_OTHER = 7;
Email資料:Uri(content://com.android.contacts/data/emails)
Uri對應的宏為:android.provider.ContactsContract.CommonDataKinds.Email.CONTENT_URI
data1欄位: 郵箱地址
data2欄位: Email類型
Email類型資訊如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
TYPE_MOBILE = 4;
地址資料:Uri(content://com.android.contacts/data/postals)
data2欄位: 地址類型
data4欄位: 街道
data7欄位: 州
data8欄位: 城市
data9欄位: 郵遞區號
地址類型資訊如下
TYPE_CUSTOM = 0;
TYPE_HOME = 1;
TYPE_WORK = 2;
TYPE_OTHER = 3;
(3)raw_contacts表
_id欄位:每行表示一個連絡人,與data表raw_contact_id欄位對應.
sort_key欄位:表示了姓名排序的資訊.中文有對應的拼音.可能顯示的資料格式為:LI 李 CUN 村
2.通話記錄(contacts2.db)
Uri(content://call_log/calls) 對應的宏為:android.provider.CallLog.Calls.CONTENT_URI
name欄位: 連絡人姓名 CallLog.Calls.CACHED_NAME
number欄位:電話號碼 CallLog.Calls.NUMBER
date欄位: 日期 CallLog.Calls.DATE
type欄位: 類型 CallLog.Calls.TYPE
duration欄位: 通話時間長度 CallLog.Calls.DURATION
Android資料庫資料