我正在获取手机的所有联系人并在列表视图中显示它们。所有其他所需的详细信息都正确显示,但我在获取电子邮件地址时遇到问题。我有很多联系人,他们有与之关联的电子邮件地址,但它没有任何联系人的电子邮件地址。我已经将我的电子邮件查询与其他SO问题相匹配,我也有同样的查询。 我错过了什么吗?
这是我的查询
if(dataCursor.getString(dataCursor.getColumnIndex("mimetype")).equals(ContactsContract.CommonDataKinds.Email.DATA ) ) {
switch(dataCursor.getInt(dataCursor.getColumnIndex("data2"))){
case ContactsContract.CommonDataKinds.Email.TYPE_HOME :
homeEmail = dataCursor.getString(dataCursor.getColumnIndex("data1"));
break;
case ContactsContract.CommonDataKinds.Email.TYPE_WORK :
workEmail = dataCursor.getString(dataCursor.getColumnIndex("data1"));
break;
}
}
Cursor dataCursor = getContentResolver().query(dataUri, null,
ContactsContract.Data.CONTACT_ID + "=" + contactId,
null, null);
答案 0 :(得分:0)
我发布的上述查询无效。我找到了另一个适合我的查询。
Cursor emails = getContentResolver().query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID
+ " = " + contactId, null, null);
while(emails.moveToNext()) {
String emailAddress = emails
.getString(emails
.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
}emails.close();