Я работаю над Android 2.0 и пытаюсь получить список всех контактов.
Поскольку android.provider.Contacts.People устарел, мне нужно использовать android.provider.ContactsContract , но я не могу найти правильный пример того, как его использовать (например, получить список всех контактов в телефонной книге).
Кто-нибудь знает, где найти такой пример?
android
contacts
android-2.0-eclair
Appme вверх
источник
источник
Ответы:
Сначала убедитесь, что вы добавили
в файл AndroidManifest.xml, то вы можете прокручивать свои телефонные контакты следующим образом:
Кроме того, вы можете просмотреть свои контакты и просто получить имя и номер телефона следующим образом:
Кроме того, если вам нужно получать такие вещи, как заметки от контакта, вам нужно будет использовать другой URI, например следующий (не стесняйтесь использовать этот метод):
Обратите внимание, что на этот раз я использовал не только идентификатор контакта, но и тип MIME для запроса.
источник
Приятно видеть некоторую полезную информацию, разочаровывает, насколько плохо эта важная тема освещена в документации и тому подобном. После слишком долгого взлома я подумал, что тоже поделюсь небольшим кодом. Следующий код немного красивее и позволяет сделать то же самое более эффективно.
Приведенный выше фрагмент кода возвращает курсор, который указывает на результирующий запрос, содержащий только те строки, которые имеют номер телефона. Это хорошо, поскольку у вас обычно много контактов без номеров. Более того, PROJECTION ограничивает объем возвращаемых данных.
Вышеупомянутый блок получает номер телефона, связанный с каждым идентификатором контакта, у которого есть номер телефона. Я храню всю информацию в хеш-таблице и с ключевым значением номера телефона. Я также удалил из номера телефона всю информацию без цифр. По какой-то причине, хотя ContactsContract.CommonDataKinds.Phone.HAS_PHONE_NUMBER действителен, если вы включаете это в аргумент проекции, он нарушает запрос, я не знаю почему, и это разочаровывает, что это так.
Вторая часть приведенного выше кода слишком медленная, все вызовы запросов просто сбивают с толку. Следующий код работает намного быстрее. Просто возьмите все строки содержимого телефона и используйте contact_ids для сортировки нужных данных.
В итоге вы получаете хеш-таблицу со всей необходимой информацией. Конечно, вы можете поместить любую информацию в структуру данных. Второй способ сделать это намного быстрее.
источник
ContactsContract.Data.DISPLAY_NAME
) в своей проекции; тогда вам не придется делать беспорядочное имитационное соединение на Java.Просто хочу добавить, когда вы извлекаете контакты, вы можете получить много "мусорных" контактов - например, некоторые адреса электронной почты, на которые пользователь в какой-то момент отправляет электронное письмо, но не объединяются ... Если вы хотите только контакты, видимые пользователю, так как в собственном приложении контактов Android вам необходимо ограничить выбор только IN_VISIBLE_GROUP.
источник
Я думаю, что важно иметь код с этого URL http://coderzheaven.com/2011/06/get-all-details-from-contacts-in-android/ в StackOverflow, потому что иногда такие ссылки опускаются.
выделенный текст
источник
Я нашел очень простое решение для чтения контактов. (скучно писать код для чтения каждого значения, поэтому хорошо использовать класс-оболочку для контактов)
Конечно
<uses-permission android:name="android.permission.READ_CONTACTS"/>
ContactList.java
Contact.java
Address.java
Email.java
Im.java
Organization.java
Phone.java
ContactAPI.java
ContactAPISdk5.java
ContactAPISdk3.java
Примечание : не забудьте вместо этого изменить имя пакета
*******
.Источник (ссылку можно умереть в любой момент :))
источник
Положи это ....
Сообщите мне, если возникнут проблемы.
источник
Эта часть не сработает для меня:
Однако, если я использую это, он:
источник
Вы можете использовать пример «ContactManager» с сайта разработчика Android (ИЛИ). Перейдите в то место, где вы установили путь для загрузки android-sdk в вашей системе. В папке android-sdk-mac_x86 / samples / android-10 вы можете увидеть пример «ContactManager».
Я пробовал использовать этот пример, хорошо работал в моем приложении.
источник
Я использую Samsung Galaxy Note 4, и я не понимаю, почему ничего из вышеперечисленного не помогло мне. Я кое-что перепутал и сделал это ...
источник