2011-11-12 22 views
0

我想獲取保存的聯繫人名稱的電子郵件。但是用我的代碼,我只能選擇這個人的名字。現在我需要的是,獲取選定人員的電子郵件並存儲在另一個editText中。如何實現它?任何幫助真的讚賞和感謝提前...我的代碼放在這裏......如何在android中獲取保存的聯繫人電子郵件?

@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(); 
       } 

回答

0

在我的情況下爲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(); 

欲瞭解更多信息,請看看Working With Android Contacts

相關問題