如何从他的号码中获取联系人的姓名

时间:2014-03-26 05:32:01

标签: android

我正在制作一个电话阅读器应用程序,我可以在其中找到来电号码,但现在我希望我的应用程序说出正在拨打电话的联系人姓名。我无法找到联系人姓名。谁能帮忙。 感谢

2 个答案:

答案 0 :(得分:4)

public static String getContactName(Context context, String phoneNumber) {
    ContentResolver cr = context.getContentResolver();
    Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
    Cursor cursor = cr.query(uri, new String[]{PhoneLookup.DISPLAY_NAME}, null, null, null);
    if (cursor == null) {
        return null;
    }
    String contactName = null;
    if(cursor.moveToFirst()) {
        contactName = cursor.getString(cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME));
    }

    if(cursor != null && !cursor.isClosed()) {
        cursor.close();
    }

    return contactName;
}

了解更多详情Visit this

答案 1 :(得分:2)

要获取来电号码的名称,请使用

name = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NAME));