- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用显示所有联系人列表的代码。当我从列表中选择一个联系人时,联系人的详细信息将显示并保存在 .vcf 文件中(以正确的 vcard 格式),工作正常。当我选择一个也有照片的联系人时,它会在 imageView 中显示照片,但我不知道如何将照片写入 vcf 文件。我用过这些线,
Uri photoUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,Integer.parseInt(item));
Bitmap photoBitmap;
ContentResolver cr = getContentResolver();
InputStream is = ContactsContract.Contacts.openContactPhotoInputStream(cr, photoUri);
photoBitmap = BitmapFactory.decodeStream(is);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
photoBitmap.compress(CompressFormat.JPEG, 100 , bos);
byte[] bitmapdata = bos.toByteArray();
imageEncoded = Base64.encodeToString(bitmapdata,Base64.DEFAULT);
String content = "BEGIN:VCARD\nVERSION:3.0\nCLASS:PUBLIC\nPRODID:-//class_vcard from TroyWolf.com//NONSGML Version 1//EN\nFN:"+contactName+"\nTEL;TYPE=cell,voice:"+number+"\nPHOTO;TYPE=JPEG;ENCODING=BASE64:"+imageEncoded+"\nTZ:+0000\nEND:VCARD";
但是我在读取联系人时遇到错误(“由于意外原因无法解析 vCard,行无效:”)谁能帮我解决这个问题!
最佳答案
尝试将 ENCODING
参数的值从 BASE64
更改为 B
。 B
是 3.0 vCards 中使用的正确值。
此外,vCards 的正确换行顺序是 \r\n
,而不是 \n
。
您可能对使用 vCard 库生成 vCard 感兴趣。 ez-vcard就是这样一个库(免责声明:我是作者)。
VCard vcard = new VCard();
vcard.setClassification("PUBLIC");
vcard.setProdId("-//class_vcard from TroyWolf.com//NONSGML Version 1//EN");
vcard.setFormattedName(contactName);
TelephoneType tel = vcard.addTelephoneNumber(number);
tel.addType(TelephoneTypeParameter.CELL);
tel.addType(TelephoneTypeParameter.VOICE);
PhotoType photo = new PhotoType(bitmapdata, ImageTypeParameter.JPEG);
vcard.addPhoto(photo);
vcard.setTimezone(new TimezoneType(0, 0));
String content = Ezvcard.write(vcard).version(VCardVersion.V3_0).prodId(false).go();
关于java - 将联系人的照片写入vcf文件,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15738628/
我不想先解压缩 vcf.gz 文件,因为它是一个大文件,而且我的笔记本电脑没有空间容纳它。我试着做: gunzip -c file.vcf.gz > bgzip -c > file.vcf.bgz 但
我正在尝试根据这些规范创建一个 .VCF 文件(使用 3.0 版) https://en.wikipedia.org/wiki/VCard#vCard_3.0 https://tools.ietf.o
我的数据文件是gnomad.exomes.r2.1.1.sites.13.vcf.bgz . 我已经解压了VCF。这是我在过滤数据后插入 Postgres 的代码: # ===============
我有一个包含大量联系人(29000!)的 .vcf 文件。我想合并重复项(例如,同名,两个条目,一个带有电子邮件,另一个带有电话号码),并为它们删除完全相同的重复项。我查看了一些 android 应用
我已经用 iPhone 创建了一个 .vcf 联系人,并通过电子邮件将文件发送给我自己。在那个 .vcf 中,我拍了一张照片,它直接保存在 vCard 中,而不是手机内存中。 在 .vcf 的源代码中
我有一个大型 Variant Call 格式 (VCF) 文件(> 4GB),其中包含多个样本的数据。 我浏览过 Google、Stackoverflow 并尝试过 R 中的 VariantAnnot
我有这个结构,我只想提取 FN 和 TEL: BEGIN:VCARD VERSION:2.1 N:Pepe;Perez;;; FN:Pepe Perez TEL;HOME:+549465738283
我使用以下代码为单个联系人创建 vcf 文件。我想要的是,当我单击特定联系人时,它将为该联系人创建一个 vcf 文件。这是我正在使用的代码: String vfile = "test1.vcf";
我正在尝试使用 CNContactVCardSerialization 将联系人保存为 vcf,效果相对较好。我确实发现苹果不包含注释或图像作为 VCF 的一部分。我确实使用了 stackoverfl
Android How to send multiple contacts are attached in single .vcf file and send to mail? 我已经创建了所有联系人
我必须从地址簿中选择多个联系人并保存到我的应用程序中。现在,如果我从地址簿中删除任何联系人,并且它是以前保存在我的应用程序中的联系人,为了恢复已删除的联系人,我需要创建 vcf 文件。 最佳答案 如果
我已经创建了 vcf 文件并将其上传到我的网站。当我按下我创建的“保存联系人”而不是将其保存到联系人的下载按钮时,它会像这样打开它: BEGIN:VCARD VERSION:2.1 N:John;Do
所以我有一张我一直在测试的 VCARD BEGIN:VCARD VERSION:2.1 N:Smith;John;;; FN:John Smith TEL;CELL:+61000000000 TEL;
我想知道,如何实现Vcard的下载。这是我当前的代码: $path = "../../media/resources/"; $file = "someName.vcf"; header('Cont
我有一个约 300 GB 的压缩 vcf 文件 (.vcf.gz),其中包含大约 700 只狗的基因组。我只对这些狗中的几只感兴趣,目前我没有足够的空间来解压整个文件,尽管我正在让一台电脑来做这件事。
在我的应用程序中,多个联系人附加到单个 .vcf 文件并将该文件发送到邮件,尝试将所有联系人数据显示在日志猫中,但无法发送所有数据附加到单个 .vcf 文件? 任何人对此有帮助,请帮助我。 这是我的代
我想为一个对象生成一个 .vcf 文件,其中包含联系人信息,如姓名、图像、电话号码、传真号码、电子邮件 ID、地址等。该对象未添加到电话的地址簿中,但它是存储在我的应用程序中。 生成我的 .vcf 文
我想将手机联系人导出到外部存储区。我没有使用这种方法。有人指导我这样做吗? 最佳答案 在您的代码中,您编写了一个函数,但该函数是从哪里调用的? get(View view) 函数是什么意思?此函数未被
我有一个类来保存数据和该类的列表。这是我的代码。 static void Main(string[] args) { List contacts = new List();
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
我是一名优秀的程序员,十分优秀!