ContactsContract查询已加星标的联系人是否返回"完整"联系数据?

时间:2018-02-01 12:02:51

标签: android android-contacts android-contentresolver

如果我使用ContactsContract查询来自CONTENT_STREQUENT_URI的内容(获得加星标和最常联系的联系人):

Cursor callLogsCursor = context.getContentResolver()
        .query(Contacts.CONTENT_STREQUENT_URI, null, null, null, null);

我会使用通常ContactsContract.Contacts.CONTENT_URI得到的所有列吗?

 Cursor callLogsCursor = context.getContentResolver()
            .query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

文档说:

  

CONTENT_STREQUENT_URI是此表的content://样式URI,其中包含有用的数据   ContactsContract.Data,已过滤,仅包含已加星标的联系人   和最常联系的联系人。

但是这个"有用的数据"定义很模糊,对我来说......

1 个答案:

答案 0 :(得分:1)

通过查询Contacts.CONTENT_URI,您可以获得通常获得的所有内容,此外,您还可以从CommonDataKinds.PhoneCommonDataKinds.Email表中输入投影字段,然后获取那些。

不确定其他CommonDataKinds表格,您可以尝试添加投影,无论您需要什么,并检查它是否有效,但请确保您测试一系列Android版本,以确保您的投影得到支持在所有。