Я не вижу цели иметь свой собственный набор данных для контактов , хранящихся в вашей отдельной базе данных , так как вы, очевидно, столкнетесь с проблемами синхронизации. Вы можете использовать mimetype и хранить все, что вы хотите, против контакта, так же, как вы связались.
Всякий раз, когда вы хотите зацепить контакты, вы можете сделать это, используя ваш собственный mimetype. Вы получаете идентификатор контакта (от ContactsContract.Data.CONTENT_URI
), а затем запускаете другой запрос, чтобы получить контактные данные (от ContactsContract.Contacts.CONTENT_URI
). Обратите внимание, что это разные таблицы.
Я хотел бы создать настраиваемое поле для контактов, которое пользователь может редактировать из основного приложения "Контакты"
Я не вижу такой возможности, которую можно редактировать из основного приложения, когда вы используете свои собственные mimetypes, и у вас не так много вариантов здесь. Приложение основного контакта будет отображать только те поля, которые есть в SDK. Вы можете хранить сведения о контактах, но они не будут отображаться на встроенном экране редактирования контактов.