在frameworks\base\core\java\android\provider下面有CallLog.java,这支文件里,每当完成一通电话向call表中插入一条callLog记录后,调用removeExpiredEntries这个函数将超过500条的那条记录
如果要对其限制条件进行修改的话,可以对这个函数进行
E.g:根据不同类型的通话记录对其进行限制,步骤如下:
1.首先对函数添加一个callType的参数(INCOMING_TYPE = 1; OUTGOING_TYPE = 2; MISSED_TYPE = 3;),同时要在调用这几个函数的地方进行修改,即将 removeExpiredEntries(context);改成
removeExpiredEntries(context,callType);
2.然后在
resolver.delete(CONTENT_URI, "_id IN " +
"(SELECT _id FROM calls ORDER BY " + DEFAULT_SORT_ORDER
+ " LIMIT -1 OFFSET 500)", null);
这里加上where calls.type=callType判断条件
时间: 2024-11-05 22:43:55