2010-07-13 146 views
2

我想在批量插入中插入帶有其他信息的聯繫人照片。 「is」是輸入流使用的照片的URI:Android:批量插入聯繫人照片

is = Data.clientContext.getContentResolver().openInputStream(/data/data/com.project.xxxxxxxxxxxxx/files/photo); 

      op_list.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
       .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
       .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE) 
       .withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, is) 
       .build()); 

我似乎無法得到照片插入批處理。任何指針?

回答

3

此方法可以解決您的問題。

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
        photo.compress(Bitmap.CompressFormat.PNG, 100, baos); 
        ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
         .withValue(Data.RAW_CONTACT_ID, rawId) 
         .withValue(Data.MIMETYPE, ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE) 
         .withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, baos.toByteArray()) 
         .build()); 
+0

額外的解釋: 照片是位圖類型,位圖 照片; – user408273 2010-08-02 03:24:23