Android:批量插入联系人照片

标签 android batch-file insert

我想在批量插入中插入一张联系人照片和其他信息。 "is"是使用照片 uri 的输入流:

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());

我似乎无法将照片与批处理一起插入。有什么指点吗?

最佳答案

此方法可以解决您的问题。

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());

关于Android:批量插入联系人照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234386/

相关文章:

Java 语句无法执行我的查询

android - 数据库全局实例

Android:我的 LAN 上的 Volley 请求失败

linux - 将循环的批处理文件转换为循环的 shell 脚本

batch-file - 转义以正斜杠和问号开头的批处理文件回显

windows - ^| 上的批量字符转义不工作

sql-server-2008 - 在SQL Server上优化号码表创建?

android - 在应用程序启动时立即隐藏状态和导航栏

android - 将 String 格式的 Facebook JSON created_time 转换为 long 格式

java - 在JavaFX中插入MYSQL数据库时出错