Difference between revisions of "Android VCF Import"
Line 9: | Line 9: | ||
use warnings; |
use warnings; |
||
my $contact_no = 0; |
my $contact_no = 0; |
||
my $vcf = ''; |
|||
my $line; |
my $line; |
||
⚫ | |||
while (defined($_ = <ARGV>)) { |
while (defined($_ = <ARGV>)) { |
||
$line = $_; |
$line = $_; |
||
$vcf .= $line; |
|||
if ($line =~ /END\:VCARD/) { |
if ($line =~ /END\:VCARD/) { |
||
⚫ | |||
print OUT $vcf; |
|||
close (OUT); |
close (OUT); |
||
$contact_no++; |
$contact_no++; |
||
$vcf = ''; |
|||
open (OUT, ">contact_$contact_no.vcf") || die "contact_$contact_no.vcf konnte nicht geschrieben werden.\n"; |
|||
} |
} |
||
} |
} |
||
close (OUT); |
|||
</pre> |
</pre> |
||
Latest revision as of 18:59, 8 June 2014
Problem: Android kann keine vcf-Dateien importieren, die mehr als einen Kontakt enthalten (Fehlermeldung: Importieren der vCard nicht möglich
1. Schritt: vcf-Datei "Kontakte-alle.vcf" mit allen Kontakten erzeugen (z.B. aus google heraus oder auch aus den Macos-Kontakten).
Folgendes Perl-Script zerhackt eine vcf-Datei mit mehreren Kontakten in einzelne vcf-Dateien:
#!/usr/bin/perl -w use strict; use warnings; my $contact_no = 0; my $vcf = ''; my $line; while (defined($_ = <ARGV>)) { $line = $_; $vcf .= $line; if ($line =~ /END\:VCARD/) { open (OUT, ">contact_$contact_no.vcf") || die "contact_$contact_no.vcf konnte nicht geschrieben werden.\n"; print OUT $vcf; close (OUT); $contact_no++; $vcf = ''; } }
Aufruf mit:
./vcf-seperator.pl Kontakte-alle.vcf
Einzeldateien zusammenpacken
tar cvfz contacts.tgz contact_*
und auf android kopieren (geht auch auf anderem Wege, aber per Mail kann man aus Sicherheitsgründen einen Anhang mit tgz-Endung nicht abspeichern):
scp contacts.tgz android:
Auf android Telefon in shell tgz-Datei entpacken:
tar xvfz contacts.tgz
Kontakte App starten und dort Option - Importieren/Exportieren - Aus Speicher importieren - Konto auswählen (in meinem Fall Exchange) - Alle vCard-Dateien importieren