我们如何在Android联系人中添加图片。我可以保存姓名,email_id,地址。我已经尝试过将图片保存到android联系人。
我正在保存这样的名字:
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name).build());
保存图片:
File wallpaperDirectory = new File("/"+Environment.getExternalStorageDirectory().getAbsolutePath()+"/DCIM/Deja_Images/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
String extStore= wallpaperDirectory+"/barcode.PNG";
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(extStore, options);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Photo.PHOTO)
//.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO,b).build());
请让我知道我遗失的地方,或者我做错了。
感谢。