gpt4 book ai didi

android - 电子邮件 ContentResolver 的问题

转载 作者:行者123 更新时间:2023-11-29 14:56:39 27 4
gpt4 key购买 nike

我正在使用以下代码在设备上构建电子邮件地址列表以显示在 ListActivity 上。目前我可以正常检索电子邮件地址,但它们以以下形式出现:null (email@address.com) 而不是 name (email@address.com) 这并不理想。我使用的代码也应该检索名称:

Cursor c = getContentResolver().query(Email.CONTENT_URI,
new String[]{Email.CONTACT_ID, Email.DISPLAY_NAME, Email.DATA},
null, null, null);

addresses = new String[c.getCount()];
try{
c.moveToFirst();
for(int i = 0;i<c.getCount();i++){
addresses[i] = c.getString(1) + " (" + c.getString(2) + ")";
c.moveToNext();
}
} finally {
c.close();
}

有人知道我做错了什么吗?

最佳答案

我用过这个(在 Incredible 上绝对适用于 Android 2.2;在 2.3 上没有 promise )。

String nameAndEmailOrder = "lower(" + ContactsContract.Data.DISPLAY_NAME + ") ASC";
String[] nameAndEmailProjection = new String[] {
ContactsContract.Data.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Email.DATA }

Cursor emails = activity.managedQuery(
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
nameAndEmailProjection, null, null, nameAndEmailOrder);

emails.moveToFirst();
int nameColumn = emails.getColumnIndex(
ContactsContract.Data.DISPLAY_NAME);
int emailColumn = emails.getColumnIndex(
ContactsContract.CommonDataKinds.Email.DATA);
do {
Log.d("test", String.format("%s (%s)", emails.getString(nameColumn), emails.getString(emailColumn)));
} while (emails.moveToNext());

关于android - 电子邮件 ContentResolver 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5210282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com