Как получить vCard (.VCF файл) в Android контакты с веб-сайта

Я пытаюсь добавить vCard из веб-ссылки в список контактов пользователя на Android 2.2. Когда я направляю пользователя .файл vcf, все, что я получаю, это текстовый вывод в мобильном браузере. Я подтвердил, что файлы передаются с помощью типа MIME text / v-card. Кажется, это должно быть довольно просто сделать. Есть идеи?

7 ответов


AFAIK Android не поддерживает файлы vCard из коробки, по крайней мере, до 2.2.

вы можете использовать приложение vCardIO для чтения файлов vcf с SD-карты и сохранения контактов. Таким образом, вы должны сохранить их на SD-карте в первую очередь и импортировать их впоследствии.

vCardIO также доступен через рынок.


теперь есть функция импорта на Android ICS 4.0.4. Сначала вы должны сохранить vcf на хранилище (USB-хранилище или SDcard). Android будет сканировать выбранное хранилище для обнаружения любого файла vcf и импортировать их в выбранную адресную книгу. Функциональность в меню опций вашего списка контактов.


просто чтобы вы знали: я просто попробовал его с помощью файла vcard 2.1, созданного в соответствии с vCard 2.1 spec. Я обнаружил, что vCard 2.1, несмотря на старую версию, уже покрыл все, что мне нужно, включая фотографию в кодировке base64 и международные наборы символов.

он отлично работал на моем неизмененном устройстве Android 4.1.1 (Galaxy S3). Он также работал на старом iPhone 3GS (iOS 5, через Evernote app) и немодифицированный старый Android коллеги 2.1 устройства. Вам нужно только установить Content-disposition до attachment как было предложено выше.

небольшая проблема заключалась в том, что я запустил загрузку VCF с помощью QR код, который я сканировал с помощью Microsoft Tag app. Это приложение сказало мне, что Android не может справиться с text/x-vcard тип носителя (или просто text/vcard, неважно). Как только я открыл ссылку в веб-браузере (я попробовал Chrome и браузер Android по умолчанию), он работал нормально.


Это можно использовать для загрузки файла на SD-карту Протестировано с Android версии 2.3.3 и 4.0.3

======= php =========================

<?php
     // this php file (example saved as name is vCardDL.php) is placed in my html subdirectory
     //  
     header('Content-Type: application/octet-stream');
     // the above line is needed or else the .vcf file will be downloaded as a .htm file
     header('Content-disposition: attachment; filename="xxxxxxxxxx.vcf"');
     // 
     //header('Content-type: application/vcf'); remove this so android doesn't complain that it does not have a valid application
     readfile('../aaa/bbb/xxxxxxxxxx.vcf');
     //The above is the parth to where the file is located - if in same directory as the php, then just the file name
?>

======= html ========================

<FONT COLOR="#CC0033"><a href="vCardDL.php">Download vCARD</A></FONT>

Я бегу 2.2 и нет никаких изменений, отчеты от других на 2.3 говорят то же самое. Android (ошибка )не обрабатывает.vcf или ссылка на такой файл на веб-странице через порт 80, ни через HTTP-заголовки, ни через прямую потоковую передачу. Он просто не поддерживается вообще.


что я также заметил, что вы должны сохранить файл как Unicode, UTF-8, нет BOM в формате Windows с CRLF (Возврат Каретки, Перевод Строки). Потому что если вы этого не сделаете, импорт сломается. (Говорит что-то о странных символах в файле)

удачи :) Сид!--5-->


У меня были проблемы с импортом VERSION:4.0 vcard файл на Android 7 (LineageOS) со стандартным приложением контактов.

Так как это на лучших поисковых хитов для "android vCard формат не поддерживается", я просто хотел отметить, что я смог импортировать их с Простой Контакты app (играть или F-Droid).