【发布时间】:2016-05-04 18:27:39
【问题描述】:
是否可以从通话记录列表中只删除来电?
如果有怎么办?
我可以轻松删除所有电话,但不确定如何只删除来电?
有人可以帮我解决这个问题吗?
谢谢!
【问题讨论】:
是否可以从通话记录列表中只删除来电?
如果有怎么办?
我可以轻松删除所有电话,但不确定如何只删除来电?
有人可以帮我解决这个问题吗?
谢谢!
【问题讨论】:
在CallLog 提供者数据库中,android.provider.CallLog.Calls.TYPE ("type") 列将具有值
android.provider.CallLog.Calls.INCOMING_TYPE (1) 用于来电记录。
【讨论】:
在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());
}
}
【讨论】: