3

我正在尝试删除特定号码的所有通话记录。

try {
    String strNumberOne[] = {number};
    Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, CallLog.Calls.NUMBER + "=? ", strNumberOne, "");
    boolean bol = cursor.moveToFirst();
    if (bol) {
        do {
            int idOfRowToDelete = cursor.getInt(cursor.getColumnIndex(CallLog.Calls._ID));                            
            getContentResolver().delete(Uri.withAppendedPath(CallLog.Calls.CONTENT_URI, String.valueOf(idOfRowToDelete)), "", null);
        } while (cursor.moveToNext());
    }
} catch (Exception ex) {
    System.out.print("Exception here ");
}

我想发起一个LIKE查询,因为 callLog 中保存的 mobNum 是 +916666666666,我传递的号码是 6666666666。所以它不匹配。有人可以帮我解决这个问题吗?

4

2 回答 2

3

尝试使用此代码从历史记录中删除任何特定数字

String number="4666";//any number
Uri CALLLOG_URI = Uri.parse("content://call_log/calls"); 
context.getContentResolver().delete(CALLLOG_URI,CallLog.Calls.NUMBER +"=?",new String[]{number});

您还可以通过执行此操作按用户名删除通话记录

context.getContentResolver().delete(CALLLOG_URI,CallLog.Calls.CACHED_NAME +"=?",new String[]{name});
于 2015-06-26T04:07:50.550 回答
1

检查以下链接:

于 2012-12-24T10:02:57.253 回答