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

时间: 2024-08-28 08:24:53

android 通话记录条数的限制的相关文章

页签类型按钮上面记录条数获得

这里是销售订单记录条数固定格式(self, cr, uid, ids, field_name, arg, context=None):def _sales_count(self, cr, uid, ids, field_name, arg, context=None): res = dict.fromkeys(ids, 0) try: sale_order_obj=self.pool.get('sale.order') 获取该表 sale.order sale_ids=sale_order_ob

datastage 分析日志获取表记录条数

DataStage通过分析日志获取Job插入目标表的记录数 这只是一种不太好的方法,也许还有更好.更简便的方法.这种方法要求每次运行Job之前删除已有的日志信息,否则无法统计出正确的记录数.当然,在Job跑完之后,可以在shell备份本次Job运行的日志到服务器磁盘. 1       日志清理设置 登录Datastage Administrator,选择对应项目,项目属性->记录,勾选"自动清除作业日志",设置为自动清理上次及以前的日志. Figure 1 Administrat

MySQL 分组后,统计记录条数

分组后,统计记录条数: SELECT num,count(*) AS counts from test_a GROUP BY num; 查询结果如下: 对num去重后的数量的统计: SELECT count(t.counts) FROM ( SELECT num,count(*) AS counts from test_a GROUP BY num ) AS t; SELECT count(DISTINCT num) AS count FROM test_a; 它俩结果一样,都是5:只是一个是子

MySQL 分组之后如何统计记录条数 gourp by 之后的 count()

SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条 SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的会是每组的记录条数. 如何获得 第二个sql语句的总记录条数? 则是,如下: select count(*) from(SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id ) a ; 注意: 子查询方式,MySQL中子结果集必须使用别名,而Oracle中不需要特

关于ADO记录集GetRecordCount()返回记录条数-1的问题

ADO方式操作数据库我们通常使用GetRecordCount函数来快速判断一个打开的记录集里面总共有多少条记录,但在使用中有时却发现有时可能查不到任何的数据,跟踪发现GetRecordCount()返回值变成了-1,而且记录集里也有记录存在. 一般情况下当ADO不能确定记录条数,或者连接提供者.游标类型都不支持RecordCount的时候,RecordCount属性都将返回-1. 最常用的两个游标类型是: adUseClient 使用由本地游标库提供的客户端游标.本地游标引擎通常允许使用的许多功

C#操作数据库,将其查查出来的记录条数显示在winform窗体中的方法之一

1 //1.数据库链接的基本操作(略) 2 //2.创建对象函数(关键部分) 3 sqlConn.Open(); 4 //初始化定义记录条数 5 int n = 0; 6 object obj = sqlComm.ExecuteScalar();//创建对象(ExecuteScalar()函数是获取所查的记录中的第一行第一列数据.) 7 int.TryParse(obj.ToString(), out n);//获取所查询的记录条数 8 string a = n.ToString();//将记录

mysql 分组之后统计记录条数

select count(*) from 表名 group by id 得到的结果如下 你会很神奇的发现你获取的不是总条数,而是每个组的条数,这很有作用,但是如果你要获取总条数的话就会很麻烦 select count(*)from( select count(*) from 表名 group by id ) a   得到的结果是:

数据库Group By类型语句统计记录条数

最近做一个分页查询查询的数据采用了group by来完成数据的查询处理,需要统计分组后的数据总数发现count(*) 聚集函数无法直接统计出分组后的总记录数. 查询SQL: SELECT count(*) FROM employeeexam, exam WHERE exam.examId = employeeexam.examId AND exam.`status`="已结束" GROUP BY employeeexam.examId, employeeexam.unitid 查询结果

Android 通话记录分析

http://stackoverflow.com/questions/6786666/how-do-i-access-call-log-for-android http://android2011dev.blogspot.in/2011/08/get-android-phone-call-historylog.html How do I access call log for android? http://developer.android.com/reference/android/prov