Java 如何在android中保存联系人电子邮件?

Java 如何在android中保存联系人电子邮件?,java,android,email,contacts,Java,Android,Email,Contacts,我正在尝试获取已保存联系人姓名的电子邮件。但是用我的代码,我只能选择这个人的名字。现在我需要的是,获取所选人员的电子邮件并存储在另一个editText中。如何实现?非常感谢您的帮助,并提前表示感谢。。。我的代码在这里 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { sw

我正在尝试获取已保存联系人姓名的电子邮件。但是用我的代码,我只能选择这个人的名字。现在我需要的是,获取所选人员的电子邮件并存储在另一个editText中。如何实现?非常感谢您的帮助,并提前表示感谢。。。我的代码在这里

@Override  
protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (resultCode == RESULT_OK) {  
        switch (requestCode) {  
        case PICK_CONTACT:

            final EditText phoneInput = (EditText) findViewById(R.id.person);
            Cursor cursor = null;  
            String phoneNumber = "";
            String Name = "";
            List<String> allNumbers = new ArrayList<String>();
            int phoneIdx = 0;
            try {  
                Uri result = data.getData();  
                String id = result.getLastPathSegment();  
                cursor = getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] { id }, null);  
                phoneIdx = cursor.getColumnIndex(Phone.DISPLAY_NAME);
                if (cursor.moveToFirst()) {
                    while (cursor.isAfterLast() == false) {
                        phoneNumber = cursor.getString(phoneIdx);
                        allNumbers.add(phoneNumber);
                        cursor.moveToNext();
                    }
                } else {
                    //no results actions
                }  
            } catch (Exception e) {  
               //error actions
            } finally {  
                if (cursor != null) {  
                    cursor.close();
                }
@覆盖
ActivityResult上受保护的void(int请求代码、int结果代码、意图数据){
如果(resultCode==RESULT_OK){
开关(请求代码){
案例选取联系人:
最终EditText电话输入=(EditText)findViewById(R.id.person);
游标=空;
字符串phoneNumber=“”;
字符串名称=”;
List allNumbers=new ArrayList();
int phoneIdx=0;
试试{
Uri结果=data.getData();
字符串id=result.getLastPathSegment();
cursor=getContentResolver().query(Phone.CONTENT_URI,null,Phone.CONTACT_ID+“=?”,新字符串[]{ID},null);
phoneIdx=cursor.getColumnIndex(Phone.DISPLAY\u NAME);
if(cursor.moveToFirst()){
while(cursor.isAfterLast()==false){
phoneNumber=cursor.getString(phoneIdx);
添加(电话号码);
cursor.moveToNext();
}
}否则{
//无结果行动
}  
}捕获(例外e){
//错误操作
}最后{
如果(游标!=null){
cursor.close();
}

以我的2.2 froyo为例,这是可行的

Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId,null, null); 
   while (emails.moveToNext())         
   {         
      emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
    }        
   emails.close(); 
欲了解更多信息,请查看