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);
}