如何计算callLog.calls中特定号码的来电数量? ANDROID QUERY CALL LOGS

时间:2013-07-18 08:31:38

标签: android sqlite count calllog querying

我有一个phonestatelistener来检索来电号码 我想要做的是在callLog内容提供商中查询并检查该特定号码,并获取特定号码在特定日期进行的来电号码

并且,我想检查该号码是否在给定的特定时间内有最多来电,如果是,只有他的电话会响,否则,不会听到响铃

该应用实际上将来电次数最多的人视为常用来电者, 如果他有资格,那么他将被视为一个重要的联系人,他的电话将响起

我的问题是,我如何在查询中执行? heeelpp !!

1 个答案:

答案 0 :(得分:0)

您可以将代码用作

   Uri urlcall = Uri.parse("content://call_log/calls/");
   Cursor receivec = null;
   receivec = HomeErasor.this.getContentResolver().query(urlcall,
                null, "TYPE='" + CallLog.Calls.INCOMING_TYPE + "'", null,
                null);

   if (c.moveToFirst()) {
        do {

//在这里,您将获得所有信息,如数字和日期比较相同的数字与不同的日期,该日期应该是您想要的。(CALLLOG.CALL.DATE返回时间+日期)通过比较这将得到多少次这个号码叫你。

            String num =c.getString(c.getColumnIndex(CallLog.Calls._ID));
            String queryString = "_ID=" + num;
            // Log.v("_ID", queryString);               
            // use value
        } while (c.moveToNext());
    }