【发布时间】:2013-03-22 05:50:11
【问题描述】:
我正在使用显示所有联系人列表的代码。当我从列表中选择一个联系人时,联系人的详细信息会显示并保存在 .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,行无效:”) 谁能帮我解决这个问题!
【问题讨论】:
标签: java android android-contacts vcf-vcard