profile picture

Michael Stapelberg

Beim Importieren von Kontakten… (2010)

published 2010-11-18, last modified 2020-11-21
Edit Icon

Beim Importieren von Kontakten aus einer VCF-Datei (generiert aus dem Android 2.1-Adressbuch) werden trotz en_DE Locale die Telefonnummern mit Bindestrichen formatiert. Um das zu fixen, kann man folgendermaßen in der SQLite-Datenbank herumstochern:

# cd /data/data/com.android.providers.contacts/databases
# cp contacts2.db /sdcard/contacts2.db
$ adb pull /sdcard/contacts2.db .
$ sqlite3 contacts2.db 'SELECT _id,data1 FROM data WHERE mimetype_id = 5' | \
perl -nlE 'my ($id, $num) = split(/\|/); $num =~ s/-//g; say "UPDATE data SET data1 = \"$num\" WHERE _id = $id;";' > updates.txt
$ sqlite3 contacts2.db < updates.txt
$ adb push updates.txt /sdcard/updates.txt
# cd /data/data/com.android.providers.contacts/databases
# export HOME=/root
# sqlite3 contacts2.db < /sdcard/updates.txt

Die etwas umständliche Methode UPDATE-Befehle erzeugen statt direkt die Datenbank zu modifizieren habe ich gewählt um sicherzustellen, dass es keine Race Conditions gibt.

I run a blog since 2005, spreading knowledge and experience for almost 20 years! :)

If you want to support my work, you can buy me a coffee.

Thank you for your support! ❤️