从联系人处获取电子邮件和姓氏

时间:2016-06-23 09:38:49

标签: android email android-intent android-contacts

我使用了联系人选择器的意图。我通过意图获得联系数据。通过这个意图,我得到了联系人的姓名,号码。

当我尝试获取联系人的电子邮件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();
    }
}

我的查询有什么问题吗?

如何获得这个?谢谢..

0 个答案:

没有答案