【发布时间】:2013-12-18 06:36:29
【问题描述】:
假设在 Android 中,一个电话联系人有多个电子邮件地址。 我需要获取与特定联系人列表对应的电子邮件列表。 我该怎么做?
【问题讨论】:
假设在 Android 中,一个电话联系人有多个电子邮件地址。 我需要获取与特定联系人列表对应的电子邮件列表。 我该怎么做?
【问题讨论】:
使用以下代码:
Cursor emailCur = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null
,ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?"
, new String[]{id},null);
while (emailCur.moveToNext()) {
String email = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
Log.e("Email",name+" "+email);
}
emailCur.close();
}
【讨论】:
ArrayList emailList = new ArrayList<String>();
Cursor Cur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",
new String[]{id}, null);
while (Cur.moveToNext()) {
String email = Cur.getString(Cur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
emailList.add(email);
}
【讨论】:
以上所有答案都是正确的......但需要更多澄清......就是这样:)
String homeEmail = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE_HOME));
String mobileEmail = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE_MOBILE));
String workEmail = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE_WORK));
String otherEmail = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE_OTHER));
String customEmail = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE_CUSTOM));
【讨论】: