【发布时间】:2011-02-21 15:41:25
【问题描述】:
嗨 我正在开发一个基于联系人的应用程序,我想从联系人获取电子邮件 ID 到我的应用程序
我正在为 android 1.6 开发应用程序
请任何人帮助我这样做。在此先感谢
【问题讨论】:
-
请接受您之前 6 个问题的一些答案。这将提高您对这个问题和未来问题的回答质量。
嗨 我正在开发一个基于联系人的应用程序,我想从联系人获取电子邮件 ID 到我的应用程序
我正在为 android 1.6 开发应用程序
请任何人帮助我这样做。在此先感谢
【问题讨论】:
找到String[] columns = new String[] { People.NAME, People.NUMBER };这一行
你可以使用这个http://developer.android.com/reference/android/provider/Contacts.People.html#PRIMARY_EMAIL_ID
获取电子邮件ID。我不确定,但是是的,您可以尝试一下
【讨论】:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);
int index = 0;
if (cur.getCount() > 0) {
emailNames = new String[cur.getCount()];
emailNumbers = new String[cur.getCount()];
while (cur.moveToNext()) {
String id = cur.getString(cur
.getColumnIndex(ContactsContract.Contacts._ID));
name = cur
.getString(cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
emailNames[index] = name;
Cursor emails = getContentResolver().query(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID
+ " = " + id, null, null);
while (emails.moveToNext()) {
// This would allow you get several email addresses
String emailAddress = emails
.getString(emails
.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
Log.v("email==>", emailAddress);
emailNumbers[index] = emailAddress;
}
}
emails.close();
index++;
}
cur.close();
【讨论】: