Android 安卓联系人:如何获取名、姓和图片的联系人列表
是否有方法获取所有设备联系人(聚合,而非原始),包括联系人ID、姓氏和联系人图片 目前我正在使用下面的代码,但它不返回结构化名称: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 = {
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);