如何从网站获取电子名片(.vcf文件)到Android联系人
我试图从网络链接添加电子名片到用户的Android 2.2联系人列表。当我将用户导向.vcf文件时,我所得到的只是移动浏览器中的文本输出。我已确认文件正在使用MIME类型文本/ v卡进行传输。这看起来应该很简单。有任何想法吗?如何从网站获取电子名片(.vcf文件)到Android联系人
AFAIK Android不支持vCard文件,至少在2.2版之前不支持vCard文件。
您可以使用应用程序vCardIO从SD卡中读取vcf文件并保存到您的联系人。 因此,您必须首先将它们保存在SD卡上,然后再导入它们。
vCardIO也可通过市场。
我也注意到的是,你必须将文件保存为Unicode
,UTF-8
,没有BOM
在Windows格式与CRLF
(回车,换行)。因为如果你不这样做,导入就会中断。 (说一些关于奇怪的字符在文件中)
祝你好运:) 希德
我运行2.2并没有变化,从报告人对2.3说的一样。 Android(bug)不处理.vcf文件,也不处理通过端口80的网页上的这种文件的链接,无论是通过http头还是直接流。它只是不支持。
试图让这个工作,这是我的Android的经验,直到并包括4.0,以及... – 2012-03-29 17:09:27
Android ICS 4.0.4现在有一个导入功能。 首先,您必须将vcf保存在存储设备(USB存储设备或SD卡)上。 Android将扫描选定的存储以检测任何vcf文件并将其导入选定的地址簿。 该功能位于联系人列表的选项菜单中。
这可以用于将文件下载到具有Android版本2.3.3和4.0.3
======= PHP测试你的SD卡 ========== ===============
<?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>
只是为了让你知道:我刚刚试了一下使用根据vCard 2.1 spec创建一个电子名片2.1文件。我发现vCard 2.1尽管是旧版本,但已经涵盖了我需要的一切,包括base64编码的照片和国际字符集。
它在我未修改的Android 4.1.1设备(Galaxy S3)上完美运行。它还使用旧的iPhone 3GS(iOS 5,通过Evernote app)和同事未修改的旧版Android 2.1设备。如上所述,您只需要将Content-disposition
设置为attachment
即可。
一个小问题是,我使用QR code触发了VCF下载,我用Microsoft Tag app扫描了该文件。该应用告诉我Android无法处理text/x-vcard
媒体类型(或者只是text/vcard
,无论如何)。一旦我在Web浏览器中打开链接(我尝试过Chrome和Android默认浏览器),它工作正常。
我发现的最佳解决方案是通过设置content-disposition来强制下载。Apache httpd.conf或.htaccess文件中的vcf文件。然后用户必须打开文件,并询问他们希望如何将联系人信息插入到他们的联系人列表中。这个帖子有很多帮助:http://code.google.com/p/android/issues/detail?id=9215 – ARolek 2010-12-08 06:56:34