- Основы Contacts API в Android
- Структура поставщика контактов
- Разрешения на доступ к поставщику контактов
- Профиль пользователя
- Пример чтения контактов
- Листинг callback метода запроса разрешений
- Листинг метода чтения контактов
- Листинг класса Contact
- Поиск контактов по имени и компании (как в приложении контактов Android 2.3.3 по умолчанию)
- 3 ответа
- 10 Лучшие приложения для Android-контактов для управления контактами
- Часть 1: Лучшие приложения для Android 10 для Android
- 1. Sync.ME
- 2. Контакты +
- 3. PureContact
- 4. Простые контакты
- 5. ConnectID
- 6. Полный контакт
- 7. Менеджер смарт-контактов
- 8. Canvy
- 9. Cloze
- 10. Готовые контакты + Dialer
- Часть 2: восстановление и резервное копирование контактов с помощью профессионального приложения «Контакты»
- Восстановление и резервное копирование контактов с помощью Tipard Android Data Recovery
- Заключение
Основы Contacts API в Android
Интерфейс работы с контактами изменился начиная с 5-ой версии API Android SDK : провайдер Contacts и все его составляющие получили статус @Deprecated. Теперь за работу с контактами отвечает провайдер ContactsContract, который внёс изменения в структуру хранения контактов, более адаптированную для Android устройств, позволяющую хранить контакты из разных источников и предоставлять их пользователю как единую сущность. В настоящее время объект описания контакта на мобильном устройстве включает не только имя и номер телефона, но и Email, Twitter, Facebook и т.д. Новый ContactsContract API позволяет системе агрегировать похожие контакты и выдавать их пользователю в одной записи, а также связывать контакт с разного рода данными.
Пользовательские данные хранятся в центральном репозитории устройства, которым управляет поставщик контактов — эффективный и гибкий компонент Android. Поставщик контактов — это источник данных, которые отображаются в приложении «Контакты» на Вашем устройстве.
Структура поставщика контактов
Поставщик контактов содержит в себе три типа данных о пользователе, как это представлено на рисунке. Каждый тип данных хранится в отдельной таблице :
В качестве наименований таблиц обычно используются названия соответствующих классов-контрактов ContactsContract. Эти классы определяют константы для URI контента, названий столбцов и значений в столбцах этих таблиц :
ContactsContract.Contacts
Строки в таблице Contacts содержат данные о пользователях, полученные путем агрегации строк необработанных контактов.
ContactsContract.RawContacts
Строки в таблице RawContacts содержат сводные данные о пользователях, относящиеся к пользовательским учетным записям и их типам.
ContactsContract.Data
Строки в таблице Data содержат сведения о необработанных контактах, например email или номера телефонов.
Имеются и другие таблицы, представленные классами-контрактами ContactsContract и представляющие собой вспомогательные таблицы. Эти таблицы поставщик контактов использует для управления своими операциями и поддержки определенных функций, имеющихся в приложении устройства «Контакты» или приложениях для телефонной связи.
Разрешения на доступ к поставщику контактов
Приложения, которым требуется доступ к поставщику контактов для чтения или записи, должны определить разрешения в файле манифеста приложения :
Профиль пользователя
Разрешения на доступ к данным поставщика контактов не распространяются на работу с профилями пользователя.
Примечание : данные о контактах пользователя являются личными и конфиденциальными. Владельцы мобильных устройств заботятся о своей конфиденциальности и часто не проявляют желания предоставлять приложениям возможности сбора данных о них самих и/или их контактах. Если владельцам не до конца ясно, для чего требуется предоставить приложению разрешение на доступ к данным контактов, они могут присвоить Вашему приложению низкий рейтинг, или вообще откажутся его устанавливать.
Строка контактов профиля связана со строкой необработанных контактов в каждой из систем, в которой используется профиль. В каждой строке необработанного контакта профиля может содержаться несколько строк данных. Константы для доступа к профилю пользователя представлены в классе ContactsContract.Profile.
Для доступа к профилю пользователя требуются отдельные разрешения. Наряду с разрешениями READ_CONTACTS и WRITE_CONTACTS (чтение и запись контакта) для доступа к профилю пользователя необходимы разрешения android.Manifest.permission#READ_PROFILE и android.Manifest.permission#WRITE_PROFILE на чтение и запись соответственно.
Помните, что профиль пользователя представляет собой конфиденциальную информацию. При запросе доступа к личной информации на устройстве пользователя обязательно укажите, для чего вам требуется доступ к профилю пользователя.
Примечание : если при получении нескольких строк контактов необходимо определить, какая из них является профилем пользователя, анализируйте значение столбца IS_USER_PROFILE этой строки. Для профиля пользователя значение должно быть «1».
Пример чтения контактов
Рассмотрим простой пример чтения списка контактов и вывода их в журнал Log. Ниже представлен листинг метода onCreate главного модуля приложения MainActivity.
Перед выполнением запроса проверим, имеются ли у нас необходимые разрешения на доступ к контактам. Для этого используем метод ContextCompat.checkSelfPermission, которому в качестве параметров передадим контекст модуля и идентификатор разрешений списка контактов. Если приложение имеет разрешения (permission), то метод вернет значение PERMISSION_GRANTED, в противном случае PERMISSION_DENIED.
При наличии необходимых разрешений вызываем метод чтения контактов readContacts, представленный ниже. В противном случае запросим необходимые разрешения методом ActivityCompat.requestPermissions, которому в качестве параметров необходимо передать контекст модуля, список запрашиваемых разрешений и «определенную в модуле константу» (PERMISSIONS_REQUEST_READ_CONTACTS).
Примечание : при запросе приложением «разрешения» методом requestPermissions(), система открывает стандартное диалоговое окно подтверждения доступа. Приложение не может изменить интерфейс диалогового окна. Если имеется необходимость представить пользователю дополнительную информацию, то это желательно сделать перед открытием окна запроса подтверждения. После запроса первого подтверждения и получения положительного ответа система запоминает результат ответа и больше не открывает окно подтверждения доступа.
Результат выполнения запроса на получение разрешений система возвращает вызовом callback метода onRequestPermissionsResult, листинг которого представлен ниже.
Листинг callback метода запроса разрешений
Система вызывает callback метод onRequestPermissionsResult при запросе разрешений методом requestPermissions. В качестве параметров методу передается массив запрошенных permissions и массив разрешений grantResults.
В примере проверяем результат полученного от системы ответа. При наличии необходимых разрешений вызывается метод readContacts.
Листинг метода чтения контактов
Метод чтения контактов readContacts в качестве параметра получает контекст приложения, используемый для вызова метода getContentResolver().query и получения результата в виде курсора. Если курсор содержит список контактов, то метод в цикле перебирает этот список и выводит в Log параметры контактов (id, name, phone). Метод можно доработать, чтобы он возвращал список контактов в виде List .
Листинг класса Contact
Класс описания контакта, используемого в методе чтения контактов устройства.
Источник
Поиск контактов по имени и компании (как в приложении контактов Android 2.3.3 по умолчанию)
Я разработал простое приложение для контактов, а также реализовал поиск по имени. Но теперь я хочу искать, используя имя и компанию (точно так же, как это делает приложение контактов Android по умолчанию). Я могу искать отдельно, используя компанию, но не могу получить другую контактную информацию, потому что возвращенный идентификатор контакта отличается . Я вставил свой код ниже.
Код для получения контактов с помощью поиска по имени: (строка поиска получается из edittext с помощью textchangedlistener)
Код для получения контактов с помощью поиска компании: (строка поиска получается из edittext с помощью textchangedlistener)
В первом случае (т.е. поиск по имени) я получаю курсор с такой информацией, как идентификатор контакта, имя. Используя идентификатор контакта, я отображаю информацию о контакте, например фотографию, электронную почту, на странице просмотра контактов.
Во втором случае (например, поиск компании) я получаю курсор с идентификатором контакта, именем и компанией. Но здесь идентификатор контакта, возвращаемый для тех же контактов, отличается от возвращенного в первом случае. Поэтому я не могу получить другую информацию о контакте, такую как фото, электронная почта и т. Д., Используя этот идентификатор контакта.
Если идентификатор контакта одинаков как в случае 1, так и в случае 2, я могу объединить два поиска в один, удалив дубликаты. Но здесь дело обстоит иначе.
Итак, мой вопрос: как мне найти контактную информацию из второго случая, если идентификатор контакта отличается, и как я могу объединить два поиска?
3 ответа
Наконец-то я нашел решение.
Проблема заключалась в возвращенном идентификаторе контакта.
Итак, в первом случае ( то есть поиск по имени ) мы должны взять ContactsContract.Contacts._ID в качестве идентификатора контакта.
И во втором случае ( то есть поиск по компании ), поскольку Uri другой (в данном случае это ContactsContract.Data.CONTENT_URI), а также данные критерия выбора. .MIMETYPE — это Organization.CONTENT_ITEM_TYPE, мы должны использовать Organization.CONTACT_ID
Точно так же при поиске по электронной почте вы должны использовать ContactsContract.CommonDataKinds.Email.CONTACT_ID в качестве идентификатора контакта. Аналогично для других полей.
Используя эти идентификаторы контактов, мы можем объединить поиск по имени и компании. Мы можем удалить дубликаты в идентификаторах контактов, используя концепцию Set .
Это заняло много времени и разочарований! Следующее выполняет поиск по контактному имени, компании и должности:
Предложение «ContactsContract.Contacts.DISPLAY_NAME NOT LIKE» необходимо для устранения повторяющихся строк для контактов, которые совпадают как по имени контакта, так и по компании / названию.
Используйте эту функцию для комбинированного поиска .. может она вам поможет ..
Источник
10 Лучшие приложения для Android-контактов для управления контактами
Выясните, сколько контактов в списке контактов и хотите ли вы найти человека, сколько времени вы потратите. В настоящее время, при обычном использовании мобильного телефона, социальных сетей, вы обнаружите, что у вас есть большой список контактов на вашем телефоне Android. И большинство из них редко имеют с вами контакты. Поэтому, когда вы хотите найти человека в своем списке контактов, вам будет трудно найти его быстро. И вам очень нужно приложение для контактов, которое поможет вам управлять своими контактами. Для пользователей Android на рынке существует множество приложений для контактов. Вы можете быть смущены тем, какой из них лучше или подходит вам. Таким образом, в этой статье он перечислил лучшие приложения для контактов 10 для Android в соответствии с отзывами пользователей. И вы можете найти лучшую в соответствии с вашими потребностями.
Часть 1: Лучшие приложения для Android 10 для Android
1. Sync.ME
Sync.ME является одним из лучших бесплатных приложений для контактов для идентификатора вызывающего абонента, текстового идентификатора и идентификации мошеннических вызовов и обнаружения неизвестных данных идентификатора вызывающего абонента. И с помощью этого приложения для контактов вы можете блокировать телефонные звонки, игнорировать телефонные звонки и идентифицировать неизвестных абонентов со всего мира. В противном случае, это не только приложение для контактов, которое сохраняет все ваши контакты с разных социальных сайтов, но и гуманизированный инструмент, чтобы дать вам напоминания о днях и отправить цифровые поздравительные открытки своим друзьям. Кроме того, вы можете делиться своими фотографиями с людьми в своем списке адресов.
2. Контакты +
Контакты + это приложение для бесплатных контактов, позволяющее значительно эффективно управлять списком контактов. Все контакты из вашего списка адресов или связанных социальных сетей, таких как Facebook, Google+, Twitter и контакты LinkedIn, будут полностью импортированы в это приложение для контактов. Кроме того, Contacts + автоматически использует фотографии из социальных сетей как обложки ваших контактов. И это очень удобный для вас просмотр ваших последних сообщений с каждого контраста, а также их сообщений в социальных сетях. В противном случае это поможет вам блокировать нежелательные вызовы и предлагает вам интегрированную службу резервного копирования для ваших SMS, контактов и журналов вызовов, чтобы защитить вашу информацию от потери.
3. PureContact
PureContact это не приложение для контактов, предназначенное для управления большим количеством контактов, а приложение для части контактов с частыми подключениями. И это имеет большое преимущество, что вы можете быстро и легко получить доступ к некоторым людям, и вы можете совершать звонки, отправлять сообщения и электронные письма или даже сообщения WhatsApp. С помощью PureContacts вы можете соединить ваши любимые контакты и создать собственные жесты для запуска быстрых действий, таких как отправка SMS-сообщения, запуск вызова и т. Д. В общем, это похоже на его имя, что делает ваши контакты чистыми и простыми.
4. Простые контакты
Как и PureContact, Простые контакты направлена на то, чтобы быть легким адресным книжным приложением, а не с приложением для контактов с Андоридом, сосредоточенным на тоннах социальных сетей. После того, как вы установили контакты в приложение, это приложение для контактов позволит вам легко получить доступ к вашим контактам и объединить дубликаты контактов. Более того, все контакты будут сохранены в организованные группы и предлагают вам фильтр интеллектуального поиска, чтобы было легко найти то, что вы хотите. В заключение, это тихое приложение для контактов, которое помогает вам хорошо управлять своими контактами.
5. ConnectID
ConnectID предлагает вам кросс-платформенную службу управления контактами, которая синхронизирует все ваши контакты в адресной книге Android и может автоматически обновлять информационные контакты ваших друзей и родственников, которые также используют эту услугу. Кроме того, вы можете создать свою собственную информационную карту со своей контактной информацией, ссылками в социальных сетях и т. Д., Что позволит вам легко поделиться ею. И если ваши коллеги и другие деловые партнеры совершают один и тот же курс, ваша система контактов будет очень аккуратной.
6. Полный контакт
Полный контакт это приложение «все-в-одном», содержащее ваши контакты Google, телефонные контакты и учетные записи социальных сетей, чтобы у вас был полный список в этом приложении. И его простой интерфейс позволяет лучше управлять контактами. Он автоматически добавит фотографии и социальные профили к вашим любимым контактам и объединит дубликаты контактов. Чтобы быстро находить контакты, вы можете устанавливать теги и создавать группы для управления контактами.
7. Менеджер смарт-контактов
Ключевое слово Контакты Manger это безопасность. Это приложение для контактов, которое уделяет больше внимания вашей безопасности адресной книги. И он предлагает защиту паролем в виде значка 4, чтобы помочь вашим контактам украсть. Более того, чтобы избежать потери данных, контакты APK позволяют легко резервировать ваши контакты. И если вы ищете приложение для защиты безопасности своей адресной книги, то это так.
8. Canvy
Если вы хотите, чтобы приложение для контактов с приятным интерфейсом, и если вам нравится, что ваше приложение для контактов заполнено фотографиями, Canvy — ваш лучший выбор. Он содержит ваши контакты в формате с богатым фотографией, который связывает ваши последние контакты с вертикальным потоком. Одним нажатием на контакты вы можете просмотреть последнее полученное сообщение или адрес электронной почты. В то время как длительное нажатие откроет меню действий, в котором будут подготовлены ярлыки SMS, IM, электронной почты или звонков. Кроме того, он предлагает кнопку поиска, которая поможет вам в контактах, а также настройки на макет изображения. И вы можете подключить свои социальные приложения, чтобы добавить больше контактов.
9. Cloze
Cloze это эффективное и все-в-одном приложение контактов, содержащее контакты, социальную сеть и центр электронной почты. Он может полностью синхронизировать информацию о контактах из вашего рекламного сообщения в социальной сети, чтобы ваши контакты всегда обновлялись. В противном случае это приложение для контактов также играет роль единого центра социальных сетей, который позволяет вам чирикать, загружать свой статус и нравится или делиться своими ссылками. Более того, он может автоматически идентифицировать ключевого человека в соответствии с вашими взаимодействиями и сообщениями с этими людьми. И он будет чирикать и загружать свои новые сообщения на Facebook или другие социальные платформы.
10. Готовые контакты + Dialer
Это приложение для контактов, объединяющее Android-контакты и приложение для набора номера, чтобы лучше показать его возможности. Когда вы взаимодействуете со своими контактами или в конце концов, он будет предлагать вам массу информации и действий с всплывающими пузырьками приложений Android. Возьмем, например, ситуацию. Когда вы получите телефонный звонок, сразу это приложение выведет Call Bubble, показывающее последние сообщения и электронные письма в качестве быстрого напоминания. И после телефонного звонка, Call Bubble отобразит некоторые настраиваемые клавиши быстрого доступа к приложениям, чтобы вы могли немедленно получить доступ к своей цели и сделать то, что хотите прямо сейчас. И вы можете скачать бесплатно.
Часть 2: восстановление и резервное копирование контактов с помощью профессионального приложения «Контакты»
Как вы видите, существует множество отличных приложений для контактов, которые могут помочь вам легко и быстро получить доступ к вашим контактам и управлять ими. Но если вы случайно удалите или потеряете некоторые из ваших контактов в Android, как вы можете восстановить эти контакты на своем Android? Хотя некоторые из приложений для контактов имеют функцию резервного копирования, вам все равно нужно восстановление данных Android, чтобы помочь вам восстановить удаленные или потерянные контакты и создать резервные копии ваших контактов на компьютере во избежание потери данных. это Tipard Android Восстановление данных это один из лучших инструментов для восстановления данных.
- 1. Восстановить потерянные или удаленные контакты, сообщения, видео, фотографии или другие файлы с вашего телефона Android или SD-карты.
- 2. Автоматически сканируйте свой Android-телефон для удаленных файлов. И предварительно просмотрите свои потерянные данные, прежде чем восстанавливать их, чтобы помочь вам выборочно восстанавливать данные.
- 3. Высокая совместимость с различными устройствами Andrid, такими как Samsung, HTC, LG, Sony, Motorola и т. Д. И он также работает под управлением ОС Android между 2.1 и 5.1.
Восстановление и резервное копирование контактов с помощью Tipard Android Data Recovery
Загрузка и установка восстановления контактов
Запустите программу после установки программы. А затем подключите телефон Android к компьютеру. Программа автоматически обнаружит устройство.
Выберите тип данных для восстановления
После этого вы можете использовать режим отладки USB, вы можете выбрать опцию «Контакты и сообщение», а затем выбрать Контакты для получения информации о удаленных контактах.
Восстановить данные после предварительного просмотра
А затем вы можете просмотреть данные перед тем, как нажать кнопку «Восстановить», чтобы вернуть удаленные контакты с телефона Android напрямую с помощью контактов.
Заключение
Если вы раньше не использовали приложение для контактов, вы начнете с указанного приложения прямо сейчас. Слишком любые действия заставят вас слишком много времени, чтобы управлять ими и находить людей, которых вы хотите напрямую. Но контактное приложение может помочь вам решить все проблемы. Даже у вас есть тысячи контактов на вашем Android, вы все равно можете сделать свою адресную книгу аккуратной. Если вы просто потеряли некоторые важные контакты, не стесняйтесь возвращать их с восстановлением данных Tipard Android.
Когда вы случайно удалили контакты с Android, вы должны знать, как восстановить удаленные контакты Android.
Когда вам нужно отправить контакты с Android на Gmail в качестве резервной копии, вы можете найти способ для резервного копирования контактов Android.
Передача контактов с Android на ПК является проблемой для многих пользователей, в то время как вы можете изучить несколько методов резервного копирования контактов.
Как перенести контакты с Android на iPhone? Вот основные способы 3 для безопасного переноса контактов Android на iPhone.
Источник