Подбор контактов Android - только контакты с номерами?

Я пишу приложение, которое требует, чтобы пользователь выбрал контакт из списка контактов, чтобы отправить SMS на этот контакт. Можно ли как-то запросить список контактов только для тех контактов с номером телефона (т.е. не с теми, которые имеют только адреса электронной почты)? В настоящее время мой код выглядит следующим образом, но он показывает все контакты - мне нужно выполнить логику в своей деятельности, чтобы проинформировать пользователя, если он выбрал контакт без связанного номера, и предложить ему выбрать другой.

Intent i = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);

Во-вторых, я понимаю, что API контактов изменился с 2.0 и далее, так как лучше выбрать контакты для всех версий ОС Android? Прав ли я, предполагая, что новый API контактов не относится к версии до 2.0?

2 ответа

Решение

В итоге я просмотрел пример кода на Android Developer и обнаружил этот проект, который определяет версию Android и использует другой класс для доступа к номерам в зависимости от версии Android.

http://developer.android.com/resources/samples/BusinessCard/src/com/example/android/businesscard/index.html

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

Показывает номера телефонов, а также контакты...:)

Другие вопросы по тегам