【问题标题】:Does ContactsContract query for the starred contacts return the "full" contact data?ContactsContract 查询加星标的联系人是否返回“完整”联系人数据?
【发布时间】:2018-02-01 12:02:51
【问题描述】:

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

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,过滤后仅包含加星标的联系人 以及最常联系的联系人。

但是这个“有用数据”的定义相当模糊,至于我……

【问题讨论】:

    标签: android android-contacts android-contentresolver


    【解决方案1】:

    您可以通过查询Contacts.CONTENT_URI 获得通常会获得的所有信息,此外,您可以将CommonDataKinds.PhoneCommonDataKinds.Email 表中的投影字段放入您的投影字段中,也可以获取这些字段。

    不确定其他 CommonDataKinds 表,您可以尝试添加任何您需要的投影并检查它是否有效,但请确保您在一系列 Android 版本上进行测试,以确保所有版本都支持您的投影.

    【讨论】:

    • 谢谢。我将等待其他一些答案并将其中一个标记为已接受。如果我忘记了,请告诉我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多