我制作了一个提取联系人并展示联系人的应用。我的问题是从所有帐户中选择所有联系人(skype,viber等)这个东西可以过滤吗?
答案 0 :(得分:1)
Android联系人存储会聚合来自所有帐户的所有联系人(具体情况因供应商实施而异,例如HTC在联系人行的备注字段中存储XML数据)。
汇总信息可通过ContactsContract.Contacts
API获取,并提供联系人商店中所有联系人数据的最完整版本,其中包含已经处理的聚合冲突和解决方案。如果您只是想访问有关满足特定要求的联系人的信息,例如他们必须有一个电话号码,然后我会建议这个API,因为它允许SQLite特有的WHERE
条款。
如果您想要访问由其来自的帐户分隔的原始联系信息而未应用任何聚合,请使用ContactsContract.RawContacts
API(Documentation)。当您编辑联系人信息时,这通常更合适,因为插入或更新查询将触发设备联系人存储的重新聚合。