Подбор контактов Android - только контакты с номерами?
Я пишу приложение, которое требует, чтобы пользователь выбрал контакт из списка контактов, чтобы отправить SMS на этот контакт. Можно ли как-то запросить список контактов только для тех контактов с номером телефона (т.е. не с теми, которые имеют только адреса электронной почты)? В настоящее время мой код выглядит следующим образом, но он показывает все контакты - мне нужно выполнить логику в своей деятельности, чтобы проинформировать пользователя, если он выбрал контакт без связанного номера, и предложить ему выбрать другой.
Intent i = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
Во-вторых, я понимаю, что API контактов изменился с 2.0 и далее, так как лучше выбрать контакты для всех версий ОС Android? Прав ли я, предполагая, что новый API контактов не относится к версии до 2.0?
2 ответа
В итоге я просмотрел пример кода на Android Developer и обнаружил этот проект, который определяет версию Android и использует другой класс для доступа к номерам в зависимости от версии Android.
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.Phones.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT_RQCODE_OLD);
Показывает номера телефонов, а также контакты...:)