如何仅使用姓名和电话号码检索android中的联系人列表

时间:2015-09-02 09:21:09

标签: android list cursor contacts

我正在使用以下代码

public static void getaAllContacts() {
    sContentResolver = sContext.getContentResolver();
    Cursor cursor = sContentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        while (cursor.moveToNext()) {
            String sName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            new DBHelper(sContext).addToContacts(sName);
        }
}

问题是我的手机只有4个联系人,但它显示的是我手机中的更多联系人。我不知道即将到来的地方。我只想要手机中联系人应用程序中联系人列表中的联系人

1 个答案:

答案 0 :(得分:0)

使用它像:

String[] PROJECTION = new String[] {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME,
            ContactsContract.Contacts.HAS_PHONE_NUMBER,
    };
    String SELECTION = ContactsContract.Contacts.HAS_PHONE_NUMBER + "='1'";
    Cursor contacts = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, PROJECTION, SELECTION, null, null);

这将仅返回具有电话号码的联系人。

获取联系人电话号码:

       String phoneNumber = contacts.getString(contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
       Log.i("Number", phoneNumber);