rek888
@rek888
Интернет коммерция

Как добавить контакт в тел книгу Android (contacts2.db) через sqlite (ROOT)?

Рутованный девайс, Андроид 5.1.
Задача: програмно добавить Nxxx телефонных номеров в системное хранилище контактов Андроид
Делаю так, через shell, в цикле создаю пустой контакт, потом присваиваю ему по id (в коде id взят за 1 для упрощения) номер телефона:
content insert --uri content://com.android.contacts/raw_contacts --bind account_type:s:ACTYPE --bind account_name:s:ACNAME

content insert --uri content://com.android.contacts/data --bind raw_contact_id:i:1 --bind mimetype:s:vnd.android.cursor.item/phone_v2 --bind data1:s:'+12223334455'

контакт создается и виден в записной книге, но это очень медленно, по 1 сек на операцию, поэтому принято решение добавлять пакетно по Nxxx контактов через бд sqlite

При попытке напрямую добавить в базу /data/data/com.android.providers.contacts/databases/contacts2.db через sqlite3 - контакт в таблицу добавляется, но в телефонной книге не отображается.
INSERT INTO "data" VALUES(1,NULL,5,1,0,0,0,0,'+12223334455','+12223334455',NULL,NULL,NULL,NULL,NULL,NULL,'+12223334455','1','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

Возможно, есть еще связанные таблицы.
Прошу помощи знатоков, как выполнить вставку, чтобы номера корректно отображались в телефонном справочнике девайса?
  • Вопрос задан
  • 273 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы