Как начать действие ACTION_PICK только с теми контактами, у которых есть мобильный телефон - PullRequest
1 голос
/ 15 июня 2009

Я хочу, чтобы пользователь выбрал контакт, на который мое приложение отправит SMS. Как обеспечить, чтобы при запуске действия с намерением ACTION_PICK отображались только те контакты с номерами мобильных телефонов?

В настоящее время я начинаю занятие так:

Intent intent = new Intent(Intent.ACTION_PICK, Phones.CONTENT_URI);

Ответы [ 3 ]

4 голосов
/ 24 марта 2011

Вы можете использовать:

intent.setType(android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);

Однако при использовании средства выбора контактов отображается список всех телефонных номеров с именем контакта над каждым, поэтому, если у контакта несколько номеров, вы увидите несколько записей для этого контакта

1 голос
/ 16 июня 2009

Я подозреваю, что это невозможно. Вам потребуется отдельный Uri, который поставщик контента Phones использовал для ограничения вывода только на мобильные телефоны. Я не вижу, что такой Uri существует.

Вы все еще можете выбирать действия только для пользователей с телефонными номерами, но вам придется написать это действие самостоятельно, используя managedQuery().

0 голосов
/ 14 сентября 2010

Читая код, похоже, вы можете указать действие UI.LIST_CONTACTS_WITH_PHONES_ACTION в намерении показать только контакты с номерами телефонов. Я не пробовал это все же. Также это действие имеет тот же эффект, что и настройка контактов «Только контакты с телефонами»

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