Difference between revisions of "Android VCF Import"

From Cactus Howto
Jump to navigationJump to search
 
Line 9: Line 9:
use warnings;
use warnings;
my $contact_no = 0;
my $contact_no = 0;
my $vcf = '';
my $line;
my $line;
open (OUT, ">contact_$contact_no.vcf") || die "contact_$contact_no.vcf konnte nicht geschrieben werden.\n";
while (defined($_ = <ARGV>)) {
while (defined($_ = <ARGV>)) {
$line = $_;
$line = $_;
print OUT $line;
$vcf .= $line;
if ($line =~ /END\:VCARD/) {
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);
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