android - 在 Android 中获取热门联系人数据

标签 android android-contacts calllog

我正在尝试获取 Android 中最常联系的通话记录详细信息。假设 A 已被联系 5 次,B 已被联系 3 次,C 已被联系 10 次。现在,我想提取 C 和 A 作为我手机中的主要联系人。

任何人都可以解释我如何做到这一点吗?我现在可以获得最新的通话记录。

我提到了这个,但没有运气

How to get contacts with which the user talks often?

最佳答案

我能够用不同的方法做类似的事情。在联系人 API 中,有一个名为 ContactsContract.Contacts.TIMES_CONTACTED 的字段,用于指示联系联系人的次数。

此方法与 CallLogs API 无关。用户可以清除通话记录,但不能清除通话次数。

  1. 查看此链接 developer notes在 ContactsContract.Contacts 上。
  2. 检查此链接以获取我创建的 Android 库,它可以为您提供此实现。 ae-apps-library您将寻找 ContactManager 类。获取所有联系人后,您需要根据联系次数字段进行排序以获得所需的列表。

编辑:如果您在库中的 ContactManager 中看到 fetchAllContacts 方法,则可以了解如何使用 API 读取数据。您需要做的就是通过编写自定义比较器并使用它对列表进行排序,根据 timesContacted 字段对该列表进行排序。

关于android - 在 Android 中获取热门联系人数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20349190/

相关文章:

黑莓:如何获取通话记录/删除通话记录条目

java - 等待线程池完成执行

android - Camera.getParameters() 在 Galaxy Tab 上返回 null

java - 生成独特的随机颜色(在 Android/Java 中)

android - 如何在Android中删除SIM卡中的联系人

android - 在多选 ListView 中选择一个项目会选择多个项目

javascript - Canvas获取图像的触摸事件

java - Android - 获取联系人的 Facebook 图片

android - 在android中获取最后一次通话时长

Android:如何找到特定联系人的通话列表?