在android中的Call Logs中仅删除来电

时间:2014-05-26 15:03:30

标签: android calllog

是否可以仅从通话记录列表中删除来电?

如果是这样的话?

我可以轻松删除所有这些但不确定如何只删除来电?

有人可以帮我解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

CallLog提供程序数据库中,android.provider.CallLog.Calls.TYPE(“type”)列将具有值 android.provider.CallLog.Calls.INCOMING_TYPE(1)来电记录。

答案 1 :(得分:0)

使用条件 type = 1

的以下方法
public void delete(final String id, final String number) {
    Uri uri = Uri.parse("content://call_log/calls");
    ContentResolver cr = context.getContentResolver();
    Cursor c = cr.query(uri, null, "and type = 1 and _id" + "=?", new String[] { "" + id }, null);
    if (c != null && c.moveToFirst()) {
        do {
            String pid = c.getString(c.getColumnIndex("_id"));
            String pnumber = c.getString(c.getColumnIndex("NUMBER"));
            if (id.equals(pid) && number.equals(pnumber)) {
                context.getContentResolver().delete(CallLog.Calls.CONTENT_URI, CallLog.Calls._ID + " = ?", new String[] { id });
            }
        } while (c.moveToNext());
    }

}
相关问题