Фрагмент кода для чтения низкоуровневых контактов профиля показан .
Обратите внимание, что после извлечения курсора содержащиеся в нем данные соответствуют классу RawContact, ранее определенному для обычного низкоуровневого контакта.
На заметку! Код, ., находится в файле ProfileRawContact FunctionTester.java. Чтобы выполнить этот код, необходимо выбрать пункт меню PRawContacts.
Чтение данных контакта профиля
Для чтения различных элементов данных (таких как адрес электронной почты, тип MIME и т.д.) низкоуровневых контактов, принадлежащих персональному профилю, воспользуемся следующим URI:
ContactsContract.RawContactsEntity.PROFILE CONTENT URI
Обратите внимание, что применяется представление, которое похоже на используемое в случае обычных контактов. Класс RawContactEntity — это соединение между низкоуровневыми контактами и строками данных, принадлежащими заданному низкоуровневому контакту. Мы увидим одну строку для каждого элемента данных, такого как адрес электронной почты, тип MIME и т.д.
После извлечения курсора содержащиеся в нем данные соответствуют классу ContactData, который был определен ранее для элемента данных обычного низкоуровневого контакта.
На заметку! Код, находится в файле ProfileContact FunctionTester.java. Чтобы выполнить этот код, необходимо выбрать пункт меню All P Raw Contacts (Все низкоуровневые контакты профиля).
Добавление данных к персональному профилю
Для добавления низкоуровневого контакта к персональному профилю воспользуемся следующим URI:
ContactsContract.RawContactsEntity.PROFILE CONTENT URI
Мы также добавим к низкоуровневому контакту несколько элементов данных, таких как телефонный номер и псевдоним, которые будут отображаться в детальных сведениях для ME.
Поскольку Data.CONTENT_URI не является специфичным для профиля, то каким образом лежащий в основе поставщик контента узнает, куда должны быть вставлены эти данные — в обычный низкоуровневый контакт или в низкоуровневый контакт персонального профиля? Мы предположили, что указание столбца по имени IS_USER_ PROFILE должно помочь в этом поставщику контента. Но выяснилось, что это не так. Новый столбец IS_USER_PROFILE предназначен в основном для целей чтения. Если указать его при вставке, то операция вставки завершится сбоем. Единственный вывод о том, что поставщик контента имеет отношение к идентификатору низкоуровневого контакта, можно сделать, посмотрев, из какой базы данных поступил этот низкоуровневый контакт — profile.db или contacts.db.
После извлечения курсора содержащиеся в нем данные соответствуют классу ContactData, который был определен ранее для элемента данных обычного низкоуровневого контакта. На самом деле функция printRawContactsData, использует определение.
Хотя мы показали, каким образом добавлять контакт к персональному профилю, обычно это делают учетные записи, такие как Gmail, Google+ и т.д. Кроме того, маловероятно, что программы от независимых разработчиков будут запрашивать права доступа для чтения вашего персонального профиля.
Опубликовал katy
February 19 2015 18:43:54 ·
0 Комментариев ·
2329 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.