Как получить 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-->