【发布时间】:2016-04-14 22:43:27
【问题描述】:
我正在尝试从联系人提供程序检索数据,但数据显示的查询似乎不正确。我使用的代码如下:
mCursor = mContext.getContentResolver().query(
ContactsContract.Data.CONTENT_URI, null, null, null, null);
if(mCursor == null){
mListener.onRetrieveError();
return;
}
for (mCursor.moveToFirst(); !mCursor.isAfterLast(); mCursor.moveToNext()) {
String contact_f = mCursor.getString(mCursor
.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
String contact_m = mCursor.getString(mCursor
.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));
String contact_l = mCursor.getString(mCursor
.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
String phone_type = mCursor.getString(mCursor
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
String email_type = mCursor.getString(mCursor
.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));
Log.d(TAG, "|" + contact_l + ", " + contact_f + " " + contact_m + " | " + phone_type + " | " + email_type);
}
日志显示例如:
Log: |LastName, FirstName | FirstName | FirstName
Log: |null, 3 null | 3 | 3
我期待:
Log: |LastName, FirstName MiddleName | PhoneType| EmailType
我希望能够获取名字、姓氏、中间名、电子邮件类型(家庭/工作...) - 以及列出的所有电子邮件类型以及电话类型。
例如,目标是获取联系人的姓氏、名字中间名,并说我们得到的是家庭和工作电话或电子邮件
我得到的结果似乎是混合的。
任何想法。
问候
【问题讨论】:
标签: android android-contentprovider android-contacts contactscontract