首页 > 代码库 > android 通话记录条数的限制

android 通话记录条数的限制

在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判断条件

android 通话记录条数的限制