среда, 27 ноября 2013 г.

Достаём контакты с Андроидного смартфона с неработающим тачскрином и отключенной синхронизацией

Второй раз за пол-года возникли проблемы с Андроидным телефоном. Первый раз просто по глупости разбил тачскрин. Новый ехал из Китая 2 месяца, причём в итоге деньги мне вернули за недоставку до дедлайна, а на следующий день он таки приехал :) Жаль не надолго. Начались проблемы с тачскрином, достигшие апофигея сегодня - просто хаотично нажимаются произвольные участки экрана. Пользоваться невозможно. Опять на помощь приходит старый СониЭрикссон которому уже лет 8 и очень тихий микрофон. Но другого выхода нет. Не покупать же в локальных магазинах, а доставка китайца опять месяца на 2.

Самое важное в телефоне - это контакты. Их и будем вытаскивать и вставлять в СониЭриксон. Синхронизации контактов нет, всё хранится локально. В Андроиде - в базе sqlite3, а именно тут:


/data/data/com.android.providers.contacts/databases/contacts2.db
Чтобы вытащить файл с устройства, на котором не работает тачскрин и отсутствуют другие устройства ввода (например, блютус клавиатура) поможет adb, имеющийся в комплекте с Android SDK.
adb pull /data/data/com.android.providers.contacts/databases/contacts2.db
Однако для этого должен быть включен режим отладки на устройстве. Если Вы не разработчик, использовавший его ранее, включить его сейчас будет tricky. Поэтому рекомендую держать его включенным всегда даже если не собираетесь писать приложения под Андроид.

Скачанный в текущую директорию файл представляет из себя базу sqlite3. Теперь его надо преобразовать в vCard, понятный любому СониЭриксону. Для этого пригодится скрипт
https://github.com/stachre/dump-contacts2db. Результатом его использования будет vcard файл, который теперь можно подсунуть любому другому телефону или менеджеру контактов.

В моём СониЭриксоне есть функция бэкапа и восстановления контактов на карту памяти. Файл бэкапа в формате vCard помещается в System/PIM/PB_Backup.vcf на карте мемори стик. Теперь можно поместить выдернутый из Андроида и сконвертированный файл в это место и назвать так же, а потом в меню контактов выбрать восстановление из бэкапа. Меня сначала спросил хочу ли удалить все текущие контакты из телефона. Отвечаю да, затем выдаётся ошика. Не паниковать! Ещё раз и всё прошло нормально.

Некоторые атрибуты могут не сохраниться если для них нет соответствующих полей в телефоне, но файл vCard всегда можно открыть в любой программе для работы с электронной почтой или контактами и увидеть все данные.

Вывод: покупайте сразу 2 одинаковых китайских смартфона чтобы в случай чего были запчасти и включайте режим отладки если не используете синхронизацию контактов с облаком.

Комментариев нет:

Отправить комментарий