【发布时间】:2016-10-25 16:14:42
【问题描述】:
我使用了联系人选择器的意图。我正在通过意图获取联系数据。为此,我正在获取联系人的姓名、电话号码。
当我尝试获取联系人的电子邮件 ID 时,它只显示联系人的号码而不是电子邮件 ID。同样对于联系人的姓氏,尽管最后一个已设置为联系人,但它始终显示为 null。
代码:
private void contactPicked(Intent data) {
Cursor cursor = null;
try {
String phoneNo = null ;
String name = null;
// getData() method will have the Content Uri of the selected contact
Uri uri = data.getData();
//Query the content uri
cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
// column index of the phone number
int phoneIndex =cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
// column index of the contact name
int nameIndex =cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
int contactIdIndex =cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID);
int emailIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
int lastNameIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME);
mOrganizerPhone = cursor.getString(phoneIndex);
mOraganizerName = cursor.getString(nameIndex);
mOrganizersId = cursor.getString(contactIdIndex);
mOrganizersEmail = cursor.getString(emailIndex);
mOrganizersLastName = cursor.getString(lastNameIndex);
Toast.makeText(PlanEventActivity.this,name+" "+phoneNo,Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
谢谢你..
【问题讨论】:
-
我认为这对你有帮助:stackoverflow.com/questions/12109391/…
-
您能告诉我要使用的查询吗?因为当我搜索时,我看到了用于获取电子邮件和结构化姓氏的不同查询。 @HuyN
标签: android email android-intent android-contacts