maatlawson 发表于 2013-1-30 04:02:05

Android随笔

有关通讯录的资料都放在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 :未接电话 )
 
 
 
主要操作的涉及的代码:
查询系统通话记录
 
privateCursorqueryAllCallsInfo (){    Uri uri=CallLog.Calls. CONTENT_URI ;    String sortOrder=CallLog.Calls. DEFAULT_SORT_ORDER ;    return   context .getContentResolver().query(uri,null ,null ,null ,       sortOrder);} 
 
根据电话删除系统通话记录
 
public   intdeleteSysCallInfoSByNum(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
短信中心号码
 
 
 
主要操作涉及的代码
查询系统短信记录
 
 
/** * 查询系统所有收件箱短信记录 *@return */privateCursor queryAllInboxSmsInfo(){      System. out .println( "---query in box message----" );      Uri uri=Uri. parse ( "content://content://sms/inbox" ); //收件箱      String sortOrder= "date desc" ;      return   context .getContentResolver().query(uri,null ,null ,null , sortOrder);}/** * 查询所有发件箱短信的内容 *@return */privateCursor queryAllSentSmsInfo(){      System. out .println( "---query send box message----" );      Uri uri=Uri. parse ( "content://sms/sent" ); //发件箱      String sortOrder= "date desc" ;      return   context .getContentResolver().query(uri,null ,null ,null , sortOrder);}删除系统短信的方法/** * 删除短信记录 *@paramthreadId 短信的会话记录 *@return */public   intdeleteSysMessageByThreadId( longthreadId){      System. out .println( "---------deleteSysMessageByThreadId-------" );      Uri mUri=Uri. parse ( "content://sms/conversations/"+ threadId);      return   context .getContentResolver().delete(mUri,null ,null );} 
 
 
 
 
 
 
 
 
页: [1]
查看完整版本: Android随笔