我如何才能知道某个联系人在android中是否有数字?

时间:2012-02-18 14:01:37

标签: android

如何知道联系人是否有电话? 下面是我的代码,它给了我所有的联系人姓名,但有些名字没有数字,所以我知道如何解决这种情况......

Cursor cursor = getContentResolver().query(
                ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        while (cursor.moveToNext()) {
            String contactId = cursor.getString(cursor
                    .getColumnIndex(ContactsContract.Contacts._ID));

            contactName = cursor.getString(cursor
                    .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

            System.out.println("Id= " + contactId);
            System.out.println("NAme= " + contactName);

            nameArray.add(contactName);

            Cursor phones = getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    null,
                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
                            + contactId, null, null);
            while (phones.moveToNext()) {
                phoneNumber = phones
                        .getString(phones
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                System.out.println("Phone no =" + phoneNumber);
                contactsArray.add(phoneNumber);

            }
            phones.close();
        }
        cursor.close();

1 个答案:

答案 0 :(得分:1)

您是否考虑过对ContactsColumns.HAS_PHONE_NUMBER进行过滤 - 如果此列的值为“1”,则汇总的联系人应该有一个或多个电话号码。