Устройство выбора номера телефона Android - PullRequest
2 голосов
/ 11 августа 2011

Я хочу позвонить в телефонную книгу, чтобы позволить пользователю выбрать один (или несколько опционально) телефонных номеров (мне нужны только номера телефонов, а не вся информация о контактах, потому что я хочу, чтобы пользователь сам пропустил написание номера и выбрал один).вместо).Это то, что я нашел до сих пор:

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,  
                    ContactsContract.Contacts.CONTENT_URI);  
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);

Это возвращает мне выбранный контакт, но тогда у него может не быть или много телефонных номеров (и мне они не нужны все. Мне нужен только один. Я мог быПозвольте пользователю выбрать его с помощью ListView или Spinner, но я считаю, что для этого должен быть какой-то API, потому что приложение «Сообщения» на моем телефоне имеет такой инструмент выбора (ну, может быть, удобнее, но я предполагаю, что это API, а не приложение Сообщения).

1 Ответ

0 голосов
/ 06 августа 2017

Это возможно с помощью API, см .: https://developer.android.com/guide/components/intents-common.html#Contacts

Чтобы пользователь мог выбрать конкретную информацию из контакта, такую ​​как номер телефона, адрес электронной почты или другие данныевведите действие ACTION_PICK и укажите тип MIME для одного из типов содержимого, перечисленных ниже, например CommonDataKinds.Phone.CONTENT_TYPE, чтобы получить номер телефона контакта.

Фрагмент их примера намерения:

    Intent intent = new Intent(Intent.ACTION_PICK);
    intent.setType(CommonDataKinds.Phone.CONTENT_TYPE);
    startActivityForResult(intent, REQUEST_SELECT_PHONE_NUMBER);

Вы можете увидеть, как они обрабатывают результат в документах, связанных выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...