Как получить сохраненный контактный адрес электронной почты в Android? - PullRequest
0 голосов
/ 12 ноября 2011

Я пытаюсь получить электронное письмо с сохраненным именем контакта. но с моим кодом я мог выбрать только имя человека. Теперь мне нужно получить адрес электронной почты выбранного человека и сохранить его в другом тексте редактирования. Как этого добиться? Любая помощь очень ценится и спасибо заранее ... Мой код здесь ...

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

1 Ответ

0 голосов
/ 12 ноября 2011

В моем случае для 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(); 

Для получения дополнительной информации, пожалуйста, посмотрите Работа с контактами Android

...