Случилось так, что стал я обладателем новенького HTC Hero.
При первом включении телефона, настроил учетную запись Google. Все контакты синхронизировались с телефоном. Как утверждают видеопрезентации гугла, это очень удобно. Например, если потеряешь телефон, контакты всё равно остануться на гугле.
Всё бы хорошо, но вот только не очень хочется хранить личные данные на удаленном сервере Googl'а. Поискал в настройках контактов — изменения типов нет. То есть, при создании контакта выбрать можно: google, телефон, SIM. Но в дальнейшем изменить тип контакта нелья.
Но на каждую хитрую, обязательно что-нибудь найдется.
1) Устанавливаем на комп Android SDK.
2) С помощью утилиты adb (из комплекта SDK, находится в каталоге TOOLS) коннектимся к телефону:
3) Далее открываем базу контактов:
Примечание: у меня неофициальная рутованная прошивка. В официальных прошивках работу этого метода не проверял.
4) Для особо любопытных, можно включить отображение заголовков таблиц:
и ещё посмотреть список всех таблиц в базе:
5) Смотрим все контакты:
Примечание: запоминаем '_id' (первое число в строке) нужного нам контакта. Например, 164.
6) И, о чудо, меняем тип контакта с Google на Телефон:
Или если Вам нужно поменять все контакты (пункт 5 — пропускаем):
Теперь этот контакт будет храниться в телефоне, и можно отключать отображение контактов Google.
PS: надеюсь, статья поможет кому-нибудь. Комментарии приветствуются!
UPD:
Если прошивка без рута и sqlite3 в телефоне нет, значит будем его использовать на компе. Скачиваем базу на комп:
запускаем sqlite3 на компе:
далее меняем тип контактов и выходим из sqlite3.
А затем закачиваем измененный файл в тел:
На комп установить sqlite3 легче чем в нерутованный hero.
При первом включении телефона, настроил учетную запись Google. Все контакты синхронизировались с телефоном. Как утверждают видеопрезентации гугла, это очень удобно. Например, если потеряешь телефон, контакты всё равно остануться на гугле.
Всё бы хорошо, но вот только не очень хочется хранить личные данные на удаленном сервере Googl'а. Поискал в настройках контактов — изменения типов нет. То есть, при создании контакта выбрать можно: google, телефон, SIM. Но в дальнейшем изменить тип контакта нелья.
Но на каждую хитрую, обязательно что-нибудь найдется.
1) Устанавливаем на комп Android SDK.
2) С помощью утилиты adb (из комплекта SDK, находится в каталоге TOOLS) коннектимся к телефону:
./adb shell
3) Далее открываем базу контактов:
# sqlite3 /data/data/com.android.providers.contacts/databases/contacts.db
Примечание: у меня неофициальная рутованная прошивка. В официальных прошивках работу этого метода не проверял.
4) Для особо любопытных, можно включить отображение заголовков таблиц:
sqlite> .headers ON
и ещё посмотреть список всех таблиц в базе:
sqlite> .tables
5) Смотрим все контакты:
sqlite> select * from people;
Примечание: запоминаем '_id' (первое число в строке) нужного нам контакта. Например, 164.
6) И, о чудо, меняем тип контакта с Google на Телефон:
sqlite> update people set extra_group='2' where _id='164';
Или если Вам нужно поменять все контакты (пункт 5 — пропускаем):
sqlite> update people set extra_group='2';
Теперь этот контакт будет храниться в телефоне, и можно отключать отображение контактов Google.
PS: надеюсь, статья поможет кому-нибудь. Комментарии приветствуются!
UPD:
Если прошивка без рута и sqlite3 в телефоне нет, значит будем его использовать на компе. Скачиваем базу на комп:
adb pull /data/data/com.android.providers.contacts/databases/contacts.db contacts.db
запускаем sqlite3 на компе:
sqlite3 contacts.db
далее меняем тип контактов и выходим из sqlite3.
А затем закачиваем измененный файл в тел:
adb push contacts.db /data/data/com.android.providers.contacts/databases/contacts.db
На комп установить sqlite3 легче чем в нерутованный hero.