ПРИМЕЧАНИЕ: Должен работать на Android 1.5 - КонтактыКонтракт неПолучение списка всех телефонных контактов?
Простой вопрос. Мне нужно знать лучший способ получить тот же список контактов, который появляется, когда пользователь нажимает кнопку «Контакты».
Вы думаете, что что-то подобное будет работать:
//For Contacts
Intent pickIntent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
this.startActivityForResult(pickIntent, RESULT);
//For Phones
Intent pickIntent = new Intent(Intent.ACTION_PICK, Phones.CONTENT_URI);
this.startActivityForResult(pickIntent, RESULT);
Проблема заключается в том, что не включает в себя вторичные учетные записи Google или Exchange, контакты. Посредством дополнительных учетных записей в Android вы можете добавить дополнительные учетные записи gmail, чтобы синхронизировать почту и контакты. Вышеуказанное намерение не будет перечислять эти дополнительные контакты.
Мне также говорят, что на HTC Desire вы можете добавлять контакты на телефон, которые не синхронизируются с Google. Эти контакты также не отображаются.
Итак, как мне получить реальный список контактов, чтобы я мог создать свой собственный список действий, который работает правильно там, где намерения Google нет.
Примечание: Должен работать на Android 1.5 - ContactsContract не
Фантастический! Я уже сам делал тест на отражение, используя ContactsContract, чтобы увидеть, будет ли это работать. Я воплощу, испытаю на Желание и вернусь с тобой. – pcm2a
Я закодировал их пример, но я не вижу, как это нам помогает. Для их компиляции вам необходимо настроить таргетинг на API 2.0.1 или выше. Поэтому я предполагаю, что ваше приложение не может быть установлено на телефоне, где работает что-то меньшее, чем эта версия, и что пользователи предыдущих выпусков не будут видеть ваше приложение на рынке. Нам нужно решение, которое работает и может быть развернуто на всех версиях. Ни один из примеров, которые я видел, не делает этого, если я не очень толстый и что-то не хватает, что вполне вероятно. Я пришел к выводу, что я должен опубликовать две версии своего приложения. Нехорошо. –
Вы можете скомпилировать для более поздней версии, но по-прежнему поддерживать более ранние SDK. Если вы используете отражение, вы можете динамически загружать классы, которые импортируют последующие API-интерфейсы - классы не привязаны до загрузки. Подробнее о версировании см. Здесь: http://developer.android.com/guide/publishing/versioning.html#minsdkversion – sehugg