如何用新照片替换手机通讯录中的联系人照片?

时间:2011-09-06 07:10:29

标签: android android-contacts

我想替换联系人的照片。但现在我所做的并不是用新的照片替换照片。 旧照片保持不变。

我添加照片的代码是

String thumbnail = "";
    if(contact_map.get("photos")!=null)
    {
        thumbnail = contact_map.get("photos").toString();

        Log.i("--: VALUE :--","thumbnail  = "+thumbnail);

        URL image_url = null;
        Bitmap bitmap_image = null;
        ByteArrayOutputStream stream_image = null;
        try
        {
          image_url = new URL(thumbnail); 
          bitmap_image = BitmapFactory.decodeStream(image_url.openConnection().getInputStream());
          stream_image = new ByteArrayOutputStream();
          bitmap_image.compress(Bitmap.CompressFormat.JPEG , 100, stream_image);
        }
        catch(Exception e)
        {
            Log.e("My Exception",""+e.getMessage());
        }

        //INSERT IMAGE
        ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
                .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, stream_image.toByteArray())
                .build());

    }

它已经很久没有人甚至评论它,请建议我什么。 谢谢