有关通讯录的资料都放在contacts2.db中这个数据库放在/data/data/com.android.providers.contacts/databases/contacts.db
1:通话记录表
表名:calls
表的主要字段说明:
字段名 | 字段类型 | 备注 |
_id | INTEGER | 记录标识 |
number | TEXT | 电话号码 |
date | INTEGER | 通话时间( 注意是一个整形 ) |
duration | INTEGER | 电话时长 |
new | INTEGER |
|
name | TEXT | 联系人 |
type | INTEGER | 电话状态(1 :打进来的电话,2 :打出的电话, 3 :未接电话 ) |
主要操作的涉及的代码:
查询系统通话记录 |
private Cursor queryAllCallsInfo (){
Uri uri=CallLog.Calls. CONTENT_URI ;
String sortOrder=CallLog.Calls. DEFAULT_SORT_ORDER ;
return context .getContentResolver().query(uri, null , null , null , sortOrder);
}
根据电话删除系统通话记录
public int deleteSysCallInfoSByNum(String number){
Uri uri=CallLog.Calls. CONTENT_URI ;
String where=CallLog.Calls. NUMBER + "='" +number+ "'" ;
Return context .getContentResolver().delete(uri, where, null );
}
2:短信记录表
表名:sms
主要字段说明:
字段名 | 字段类型 | 备注 |
_id | INTEGER | 记录标识 |
thread_id | INTEGER | 对话的序号(conversation ) |
address | TEXT | 发件人地址,手机号 |
person | INTEGER | 发件人,返回一个数字就是联系人列表里的序号,陌生人为null (但是我查看系统存在联系人一下表该字段为 null ) |
date | INTEGER | 发送短信的时间 |
read | INTEGER | 是否阅读 |
status | INTEGER | 状态(估计与网关的状态) |
type | INTEGER | 类型 1 是接收到的, 2 是发出的 |
body | TEXT | 消息体内容 |
service_center | TEXT | 短信中心号码 |
主要操作涉及的代码
查询系统短信记录
|