android平台上的通话记录是以Content Provider的形式存储在手机上的,因此你需要使用ContentResolver来查询通话记录,返回Cursor接口。同时还可以对通讯录做增删操作。
查询:
Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI,
null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);
startManagingCursor(cursor);
增加:
ContentValues values = new ContentValues();
for(CallLogs callLog : calllogs){
String number=callLog.getNumber();
long date=callLog.getDate();
//values.put(CallLog.Calls._ID, System.currentTimeMillis());
values.put(CallLog.Calls.NUMBER, number);
values.put(CallLog.Calls.DATE, date);
values.put(CallLog.Calls.TYPE,CallLog.Calls.MISSED_TYPE);//未接
values.put(CallLog.Calls.NEW, "1");//0已看1未看
contentResolver.insert(CallLog.Calls.CONTENT_URI, values);
//contentResolver.delete(CallLog.Calls.CONTENT_URI, null, null);
}
查询:
Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI,
null, null, null, CallLog.Calls.DEFAULT_SORT_ORDER);
startManagingCursor(cursor);
增加:
ContentValues values = new ContentValues();
for(CallLogs callLog : calllogs){
String number=callLog.getNumber();
long date=callLog.getDate();
//values.put(CallLog.Calls._ID, System.currentTimeMillis());
values.put(CallLog.Calls.NUMBER, number);
values.put(CallLog.Calls.DATE, date);
values.put(CallLog.Calls.TYPE,CallLog.Calls.MISSED_TYPE);//未接
values.put(CallLog.Calls.NEW, "1");//0已看1未看
contentResolver.insert(CallLog.Calls.CONTENT_URI, values);
//contentResolver.delete(CallLog.Calls.CONTENT_URI, null, null);
}
本文介绍如何在Android平台上通过ContentResolver查询、增加通话记录。利用Cursor获取通话记录,并演示了具体的代码实现。
1252

被折叠的 条评论
为什么被折叠?



