添加图片到Android手机联系人

时间:2011-11-21 13:42:02

标签: android android-contacts

我们如何在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());

请让我知道我遗失的地方,或者我做错了。

感谢。

0 个答案:

没有答案