已知 id 时获取联系人

发布于 2024-08-25 03:40:42 字数 122 浏览 1 评论 0原文

我有一个“n”个联系人 ID 列表,我需要获取对应的联系人详细信息。一种使用联系人 ID 进行 n 次查询并检索这些联系人的简单方法。但这将非常耗时,尤其是当 n 很大时。我想知道是否有更简单的方法来获取这些结果(如批量查询等)。

I have a list of 'n' contact ids corresponding to which I need to obtain the contact details. One simple way to make n queries using the contact ids and retrieve those contacts. But this will be very time-consuming especially if n is large. I would like to know if there is any simpler way to obtain these results (like batch query etc).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赠我空喜 2024-09-01 03:40:42
ContentResolver cr = context.getContentResolver();
String[] projection = new String[] { ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME};
Cursor c = cr.query(ContactsContract.Contacts.CONTENT_URI, projection,
                ContactsContract.Contacts._ID + " in ("+comma_delimited_ids+") , null,
                ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");

然后你可以循环光标

if (c!=null) {
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                       // your code to get details from cursor
            }
            c.close();
        }
ContentResolver cr = context.getContentResolver();
String[] projection = new String[] { ContactsContract.Contacts._ID,
                ContactsContract.Contacts.DISPLAY_NAME};
Cursor c = cr.query(ContactsContract.Contacts.CONTENT_URI, projection,
                ContactsContract.Contacts._ID + " in ("+comma_delimited_ids+") , null,
                ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");

then you can loop the cursor

if (c!=null) {
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                       // your code to get details from cursor
            }
            c.close();
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文