Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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
Android 安卓联系人:如何获取名、姓和图片的联系人列表_Android_Contacts_Android Contacts - Fatal编程技术网

Android 安卓联系人:如何获取名、姓和图片的联系人列表

Android 安卓联系人:如何获取名、姓和图片的联系人列表,android,contacts,android-contacts,Android,Contacts,Android Contacts,是否有方法获取所有设备联系人(聚合,而非原始),包括联系人ID、姓氏和联系人图片 目前我正在使用下面的代码,但它不返回结构化名称: private static final String CONTACTS_SORT_ORDER = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; // all contacts public final String[] columns = {

是否有方法获取所有设备联系人(聚合,而非原始),包括联系人ID、姓氏和联系人图片

目前我正在使用下面的代码,但它不返回结构化名称:

private static final String CONTACTS_SORT_ORDER = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";

// all contacts
public final String[] columns = {
                        ContactsContract.Contacts._ID, 
                        ContactsContract.Contacts.DISPLAY_NAME,                                  
                        ContactsContract.Contacts.PHOTO_THUMBNAIL_URI};

c = contentResolver.query(Contacts.CONTENT_URI, null, null, null, CONTACTS_SORT_ORDER);

谢谢

一次查询无法获取所需数据。对于每个联系人ID,您必须查询其数据目录:

Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
Uri dataUri = Uri.withAppendedPath(contactUri, Contacts.Data.CONTENT_DIRECTORY);
然后,您应该对该URI运行查询,通过
StructuredName.CONTENT\u ITEM\u TYPE
过滤
MIMETYPE
,以获得给定ID的
StructuredName

Uri dataUri = Uri.withAppendedPath(contactUri, Contacts.Data.CONTENT_DIRECTORY);
Cursor nameCursor = getActivity().getContentResolver().query(
        dataUri,
        null,
        Data.MIMETYPE+"=?",
        new String[]{ StructuredName.CONTENT_ITEM_TYPE },
        null);

一次查询无法获取所需的数据。对于每个联系人ID,您必须查询其数据目录:

Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
Uri dataUri = Uri.withAppendedPath(contactUri, Contacts.Data.CONTENT_DIRECTORY);
然后,您应该对该URI运行查询,通过
StructuredName.CONTENT\u ITEM\u TYPE
过滤
MIMETYPE
,以获得给定ID的
StructuredName

Uri dataUri = Uri.withAppendedPath(contactUri, Contacts.Data.CONTENT_DIRECTORY);
Cursor nameCursor = getActivity().getContentResolver().query(
        dataUri,
        null,
        Data.MIMETYPE+"=?",
        new String[]{ StructuredName.CONTENT_ITEM_TYPE },
        null);