【发布时间】:2012-06-17 08:53:21
【问题描述】:
大家好,我正在尝试使用 ContentResolver 从联系人数据库中获取联系人信息,这些字段想要获取姓名、号码、FORMATTED_ADDRESS、PHOTO 单个查询中的联系人详细信息。
所以基本上我需要对每个联系人进行 3 次查询才能获得这些 细节。
我想知道的是,有没有更简单有效的方法 达到什么这个。
但是使用下面的代码我得到了异常。
java.lang.IllegalArgumentException: Invalid column data1
任何机构都可以帮助我找到相同的解决方案吗?
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS,
ContactsContract.CommonDataKinds.Photo.PHOTO};
String selection = ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '1'";
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor contacts = getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);
【问题讨论】:
标签: android android-contacts android-contentprovider