如何更快地获得Android联系人

时间:2012-08-17 04:24:58

标签: android contact contactscontract

我需要在手机上找到联系人。这是我的代码:

Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
    Cursor cursor = context.getContentResolver().query(
            uri,
            new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER,
                    ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                    ContactsContract.CommonDataKinds.Phone._ID }, null,
            null,
            ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC");
    cursor.moveToFirst();
    while (cursor.isAfterLast() == false) {
        String contactNumber = cursor
                .getString(cursor
                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
        String contactName = cursor
                .getString(cursor
                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
        int phoneContactID = cursor
                .getInt(cursor
                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID));
        phoneContactInfo = new PhoneContactInfo();
        phoneContactInfo.setPhoneContactID(phoneContactID);
        phoneContactInfo.setContactName(contactName);
        phoneContactInfo.setContactNumber(contactNumber);
        if (phoneContactInfo != null) {
            arrContacts.add(phoneContactInfo);
        }
        phoneContactInfo = null;
        cursor.moveToNext();
    }

有更快的方法来获取联系人吗?

0 个答案:

没有答案