选择联系人java android时获取电子邮件列索引

问题描述 投票:0回答:1

我目前正在从电话联系簿中选择联系人,然后使用以下代码保存名称:

int nameColumn = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
String name = cursor.getString(nameColumn)

我想知道是否有办法以类似的方式获取联系人的电子邮件,如CommonDataKinds.Phone.EMAIL

java android android-contentprovider android-contacts contactscontract
1个回答
0
投票

从电话联系簿中选择联系人

你的意思是你在使用:

Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT)

让用户从设备的联系人应用程序中选择联系人?

如果是这样,您可以稍微更改选择器代码以成为电子邮件选择器:

Intent intent = new Intent(Intent.ACTION_PICK, Email.CONTENT_URI);  
startActivityForResult(intent, PICK_EMAIL);

然后在你的onActivityResult

Uri emailUri = data.getData();
Cursor cursor = getContentResolver().query(emailUri, null, null, null, null);
String email = cursor.getString(cursor.getColumnIndex(Email.DATA)); // get the email itself

DatabaseUtils.dumpCursor(cursor); // dump the cursor so you can see the fields and data you can access
cursor.close();
© www.soinside.com 2019 - 2024. All rights reserved.