Search
Write a publication
Pull to refresh

Трюк с изменением типов контактов в Android 1.5

Reading time2 min
Views761
Случилось так, что стал я обладателем новенького HTC 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.
Tags:
Hubs:
Total votes 13: ↑10 and ↓3+7
Comments12

Articles