Accede a los contactos y recibe la dirección de correo electrónico.

Tengo un fragmento de código para acceder a Contactos. Cuando el usuario haga clic en el botón, la lista de contactos se abrirá y el usuario puede elegir a una persona de entre los contactos y la dirección de correo electrónico de la persona debe escribirse en un texto de edición. Puedo recibir el correo electrónico de las personas que el usuario seleccione. Pero no puedo establecerlo en el edittext.

static String email = "";


imgbtnaddfromcontacts.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                if (v == imgbtnaddfromcontacts) {
                    try 
                    {
                        Intent intent = new Intent(Intent.ACTION_PICK,
                                ContactsContract.Contacts.CONTENT_URI);
                        startActivityForResult(intent, 1);

                    } catch (Exception e) {
                        e.printStackTrace();
                        Log.e("Error in intent : ", e.toString());
                    }
                }
            }
        });
        kimeTxt.setText(email);
    }

    @Override
    public void onActivityResult(int reqCode, int resultCode, Intent data) {
        super.onActivityResult(reqCode, resultCode, data);

        try {
            if (resultCode == Activity.RESULT_OK) {
                // Get data
                Uri contactData = data.getData();
                // Cursor
                Cursor cur = managedQuery(contactData, null, null, null, null);
                ContentResolver contect_resolver = getContentResolver();

                // List
                if (cur.moveToFirst()) {
                    String id = cur
                            .getString(cur
                                    .getColumnIndexOrThrow(ContactsContract.Contacts._ID));

                    Cursor phoneCur = contect_resolver.query(
                            ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                            null,
                            ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                    + " = ?", new String[] { id }, null);

                    Cursor emailCur = contect_resolver.query(
                            ContactsContract.CommonDataKinds.Email.CONTENT_URI,
                            null,
                            ContactsContract.CommonDataKinds.Email.CONTACT_ID
                                    + " = ?", new String[] { id }, null);

                    if (phoneCur.moveToFirst()) {
                        name = phoneCur
                                .getString(phoneCur
                                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                        no = phoneCur
                                .getString(phoneCur
                                        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                    }

                    while (emailCur.moveToNext()) {
                        // This would allow you get several email addresses
                        // if the email addresses were stored in an array
                        email = emailCur
                                .getString(emailCur
                                        .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));

                        if (email != null) 
                        {
                            seciliEmail = email;
                        } else {
                            Toast.makeText(EpostaIletActivity.this,
                                    "Kişinin eposta hesabı bulunmamaktadır.",
                                    Toast.LENGTH_SHORT);
                            Log.w("Error: ", "Kişinin eposta hesabı yok.");
                        }
                    }

                    Log.e("Phone no & name & email :***: ", name + " : " + no + ":" + email);
                    // txt.append(name + " : " + no + "\n");

                    id = null;
                    name = null;
                    no = null;
                    seciliEmail = "xxx";
                    phoneCur = null;
                    emailCur.close();
                }
                contect_resolver = null;
                cur = null;
                // populateContacts();

            }
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
            Log.e("IllegalArgumentException :: ", e.toString());
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("Error :: ", e.toString());
        }
    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta