相关疑难解决方法(0)

Android获取所有联系人列表(姓名,电子邮件,电话)需要超过一分钟的约700个联系人

有没有办法缩短这个时间?我正在使用光标运行并获取姓名,电话号码和电子邮件

如果我从查询循环中删除电话号码查询,它将在3秒后结束

任何想法如何改进该查询?

也许我在查询中做错了什么?

(显然我正在做异步但仍然......用户已经很长时间不能等了)

希望有人可以分享他对此的看法

这是我的代码

ContentResolver cr = getContentResolver();
            Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
                    null, null, null, null);
            if (cur.getCount() > 0) {
                while (cur.moveToNext()) {
                    AddressBookEntity adr = new AddressBookEntity();
                    String id = cur.getString(cur
                            .getColumnIndex(ContactsContract.Contacts._ID));
                    String name = cur
                            .getString(cur
                                    .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                    adr.fullName = name;

                    Cursor emailCur = cr
                            .query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
                                    null,
                                    ContactsContract.CommonDataKinds.Email.CONTACT_ID
                                            + " = ?", new String[] { id },
                                    null);
                    while (emailCur.moveToNext()) {
                        // This would allow you get several email addresses
                        // if the email addresses …
Run Code Online (Sandbox Code Playgroud)

android abaddressbook android-contentresolver

12
推荐指数
1
解决办法
5998
查看次数