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.
Did you like this post? Subscribe to this blog’s RSS feed to not miss any new posts!
I run a blog since 2005, spreading knowledge and experience for over 20 years! :)
If you want to support my work, you can buy me a coffee.
Thank you for your support! ❤️