Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据给定的电子邮件id从地址簿中获取联系人姓名_Java_Android - Fatal编程技术网

Java 根据给定的电子邮件id从地址簿中获取联系人姓名

Java 根据给定的电子邮件id从地址簿中获取联系人姓名,java,android,Java,Android,如果我有电子邮件id,并且需要从通讯簿中获取相应的姓名,是否可以这样做?使用特定于电子邮件匹配的URI根据电子邮件id获取联系人 Uri uri = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Email.CONTENT_FILTER_URI, Uri.encode(emailIdString)); 其中emailIdString是您要获取其联系人的电子邮件地址 Cursor contactLookup = cr.query(ur

如果我有电子邮件id,并且需要从通讯簿中获取相应的姓名,是否可以这样做?

使用特定于电子邮件匹配的URI根据电子邮件id获取联系人

Uri uri = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Email.CONTENT_FILTER_URI, Uri.encode(emailIdString));
其中emailIdString是您要获取其联系人的电子邮件地址

Cursor contactLookup = cr.query(uri, new String[] {ContactsContract.CommonDataKinds.Email.CONTACT_ID, ContactsContract.Data.DISPLAY_NAME }, null, null, null);

contactLookup游标将包含其emailID与emailIdString匹配的所有联系人

希望这对您有用:

    public String getCallerFromEmailId(String emailId) {
    // TODO Auto-generated method stub
    String callerName = null;
    ContentResolver resolver = context.getContentResolver();
    Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI,
            null, null, null, null);

    if (cursor.getCount() > 0) {
        while (cursor.moveToNext()) {

            Cursor pcursor = resolver.query(
                    ContactsContract.CommonDataKinds.Email.CONTENT_URI,
                    null, ContactsContract.CommonDataKinds.Email.DATA
                            + " = ?", new String[] { emailId }, null);

            while (pcursor.moveToNext()) {
                callerName = pcursor
                        .getString(pcursor
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                return callerName;
            }
            pcursor.close();

        }
    }
    cursor.close();
    return callerName;
}

我在考虑使用一个HashMap,将email id作为键,联系人姓名作为值,然后将给定的email id与hash键匹配,得到相应的联系人姓名。