How to get a contact's number from contact name in android

后端 未结 3 1846
攒了一身酷
攒了一身酷 2020-12-06 06:16

I am having a contacts name with me and want his number .How to get contact number of corresponding name in Android ?

3条回答
  •  遥遥无期
    2020-12-06 06:46

    The following code will log out to logcat all the mobile numbers for a contact with a display name of contactName:

    Cursor cursor = null;
    try {
        cursor = getContentResolver().query(Data.CONTENT_URI,
                new String [] { Data.RAW_CONTACT_ID },
                StructuredName.DISPLAY_NAME + "=? AND "
                    + Data.MIMETYPE + "='" + StructuredName.CONTENT_ITEM_TYPE + "'",
                new String[] { contactName},  null);
        if (cursor != null && cursor.moveToFirst()) {
            do {
                String rawContactId = cursor.getString(0);
                Cursor phoneCursor = null;
                try {
                    phoneCursor = getContentResolver().query(Data.CONTENT_URI,
                            new String[] {Data._ID, Phone.NUMBER},
                            Data.RAW_CONTACT_ID + "=?" + " AND "
                                    + Phone.TYPE + "=" + Phone.TYPE_MOBILE + " AND "
                                    + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'",
                                    new String[] {rawContactId}, null);
    
                    if (phoneCursor != null && phoneCursor.moveToFirst()) {
                        String number = phoneCursor.getString(phoneCursor.getColumnIndex(Phone.NUMBER));
                        Log.d(TAG, "Mobile Number: " + number);
                    }
                } finally {
                    if (phoneCursor != null) {
                        phoneCursor.close();
                    }
                }
            } while (cursor.moveToNext());  
        }
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
    

提交回复
热议问题