如何使用联系人 id 和查找键获取 rawcontact id

Posted

技术标签:

【中文标题】如何使用联系人 id 和查找键获取 rawcontact id【英文标题】:How to get rawcontact id with contact id and lookup key 【发布时间】:2015-12-12 19:14:24 【问题描述】:

我正在尝试使用存储在应用程序中的查找键和联系人 ID 从联系人提供程序获取 rawcontacts._ID。

这个函数可能对我有帮助,但我不确定如何构造 rawContactUri

public static Uri getContactLookupUri(ContentResolver 解析器,Uri rawContactUri)

为给定 ContactsContract.RawContacts 条目的父 ContactsContract.Contacts 条目构建 CONTENT_LOOKUP_URI 样式 Uri。

【问题讨论】:

【参考方案1】:
    ContentResolver cr = getBaseContext()
                    .getContentResolver();
            Cursor cur = cr
                    .query(ContactsContract.Contacts.CONTENT_URI,
                            null,
                            null,
                            null,
                            null);

            if (cur.getCount() > 0) 

                Log.i("Content provider", "Reading contact  emails");

                while (cur
                        .moveToNext()) 

                    String contactId = cur
                            .getString(cur
                                    .getColumnIndex(ContactsContract.Contacts._ID));
                      
             

【讨论】:

我已经有联系人 ID 和来自 contacts.content_uri 的查找键,我使用它来查找原始联系人以防 ID 已更改

以上是关于如何使用联系人 id 和查找键获取 rawcontact id的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 LookUpKey 获取联系电话号码?

Android:使用查找键管理联系人

如何将选择结果分配给变量?

在深层嵌套对象中按特定键查找所有值

如何使用联系人 ID 获取特定的联系电话

sqlite中如何通过外键关联两个数据库?