电话号码转化为联系人姓名

/**
 * 将电话号码转化为联系人姓名
 * @param context
 * @param number
 * @return
 */
public static String getDisplayNameByNumber(Context context, String number) {
    String displayName = number;
    Cursor cursor = null;

    try {
        ContentResolver resolver = context.getContentResolver();
        Uri uri = ContactsContract.PhoneLookup.CONTENT_FILTER_URI.buildUpon().appendPath(number).build();
        String[] projection = new String[] { COLUMN_ID, ContactsContract.PhoneLookup.DISPLAY_NAME};
        cursor = resolver.query(uri, projection, null, null, null);

        if (cursor != null && cursor.moveToFirst()) {
            int columnIndexName = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
            displayName = cursor.getString(columnIndexName);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
    return displayName;
}



public String getContactNameFromPhoneBook(Context context, String phoneNum) {
    String contactName = "";
    ContentResolver cr = context.getContentResolver();
    Cursor pCur = cr.query(
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
            ContactsContract.CommonDataKinds.Phone.NUMBER + " = ?",
            new String[] { phoneNum }, null);
    if (pCur.moveToFirst()) {
        contactName = pCur
                .getString(pCur
                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
        pCur.close();
    }
    return contactName;
}

你可能感兴趣的:(电话号码转化为联系人姓名)