Android 无法设置联系人的图片
我无法通过我的应用设置联系人的图片。已替换现有图像,但我无法仅将图片添加到新图像。有人能帮忙吗!!!提前谢谢 这是密码Android 无法设置联系人的图片,android,Android,我无法通过我的应用设置联系人的图片。已替换现有图像,但我无法仅将图片添加到新图像。有人能帮忙吗!!!提前谢谢 这是密码 try { ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); ByteArrayOutputStream stream = new ByteArrayO
try {
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 75, stream);
android.content.ContentProviderOperation.Builder builder = ContentProviderOperation
.newUpdate(ContactsContract.Data.CONTENT_URI);
builder.withSelection(
ContactsContract.Data.CONTACT_ID + "=?" + " AND "
+ ContactsContract.Data.MIMETYPE + "=?",
new String[] {
String.valueOf(contactId),
ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE });
builder.withValue(
ContactsContract.CommonDataKinds.Photo.PHOTO,
stream.toByteArray());
ops.add(builder.build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY,
ops);
}
catch (Exception e) {
e.printStackTrace();
}
case R.id.assign_contact:
cropstatus = 2;
filepath = Environment.getExternalStorageDirectory().getPath()
+ "/Noredoo/Profile Pictures/" + file.getName();
startCropImage(filepath, 1, 1);
Intent contactintent = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(
Intent.createChooser(contactintent, "Choose Contact"),
PICK_CONTACT);
return true;
试试看{
ArrayList ops=新的ArrayList();
ByteArrayOutputStream=新建ByteArrayOutputStream();
compress(bitmap.CompressFormat.PNG,75,流);
android.content.ContentProviderOperation.Builder=ContentProviderOperation
.newUpdate(contacts contract.Data.CONTENT\u URI);
建筑商选举(
Contacts contract.Data.CONTACT_ID+“=?”+“和”
+Contacts contract.Data.MIMETYPE+“=?”,
新字符串[]{
字符串.valueOf(contactId),
ContactsContract.CommonDataTypes.Photo.CONTENT\u ITEM\u TYPE});
有价值的建筑商(
Contacts contract.CommonDataTypes.Photo.Photo,
toByteArray());
ops.add(builder.build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY,
行动计划);
}
捕获(例外e){
e、 printStackTrace();
}
案例R.id.assign\u联系人:
cropstatus=2;
filepath=Environment.getExternalStorageDirectory().getPath()
+“/Noredoo/Profile Pictures/”+file.getName();
startCropImage(文件路径,1,1);
意向contactintent=新意向(Intent.ACTION\u PICK,
Contacts contract.Contacts.CONTENT\u URI);
startActivityForResult(
Intent.createChooser(contactintent,“选择联系人”),
拾取(U触点);
返回true;
试试看
请添加一些解释,说明为什么会这样做,以及OP可能做错了什么。@Nenotlep我通过wats应用程序收到了一张图片,我将查看该图片,并将该图片设置为联系人图片。但我无法设置为联系人图片。但如果存在任何图像,则意味着它将替换并设置…您的代码示例不完整且格式不正确,请改进它。
ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);