Выберите контакт и заполните его в EditText - PullRequest
0 голосов
/ 14 марта 2020

Я разрабатываю приложение в android, и я хочу, чтобы при нажатии кнопки открывались контакты, выбиралось одно имя и заполнялось этим именем в EditText ... как в SMS-сообщении.

enter image description here здесь мой код это просто открыть контакт, и когда я выбираю имя, это никуда не денется!

   addto.setOnClickListener(new View.OnClickListener() {
        private static final int PICK_CONTACT = 0;

        @Override
        public void onClick(View v) {
            Intent it= new Intent(Intent.ACTION_PICK,  ContactsContract.Contacts.CONTENT_URI);

            startActivityForResult(it, PICK_CONTACT);
        }
    });

1 Ответ

0 голосов
/ 14 марта 2020

Вы можете получить контактную информацию в методе onActivityResult () внутри своей деятельности.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        switch (requestCode) {
            case PICK_CONTACT:
                    Uri contactData = data.getData();
                    Cursor cursor = managedQuery(contactData, null, null, null, null);
                    cursor.moveToFirst();

                    //Get number and name from cursor
                    String number = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
                    String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                     //set number and name in editext
                    etName.setText(contactName);
                    etNumber.setText(number);
                    break;
        }
    }
}
...