我正在尝试仅获取我的联系人中可用的电子邮件联系人。现在我有一个显示所有联系人的解决方案,如果选定的联系人没有电子邮件地址,它会举杯表示找不到电子邮件地址。相反,我想显示只有电子邮件地址的联系人。
这是我尝试过的查询:
Cursor cursor = null;
String emailid = "";
List<String> allids = new ArrayList<String>();
int emailIds = 0;
try
{
Uri result = data.getData();
String id = result.getLastPathSegment();
Log.e("Email","TRY"+emailid);
cursor = getContentResolver().query(Email.CONTENT_URI, null, Email.CONTACT_ID + "=?", new String[] { id }, null);
/*cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",
new String[]{id}, null);*/
emailIds = cursor.getColumnIndex(Email.DATA);
if (cursor.moveToFirst())
{
while (cursor.isAfterLast() == false)
{
emailid = cursor.getString(emailIdx);
allids.add(emailid);
cursor.moveToNext();
}
}
else
{
//no results actions
}
}
有人可以让我知道如何让电子邮件查询部分正常工作吗?
谢谢!