Android 将位图设置为联系人图像

Android 将位图设置为联系人图像,android,android-contacts,Android,Android Contacts,我很难理解如何从联系人那里获取信息,以及如何将信息传递给联系人。有人知道学习的好方法吗 不管怎样,这是我的主要问题。我从网上找到的一些随机代码中获得了联系人图像,但现在我想为我的联系人设置一个新的位图图像。我需要联系人的哪些信息(URI或contact_id),如果有人能给我一个非常简单的代码和步骤,那就太棒了。但是,如果您没有时间逐步完成它,那么只需要一个简单的基本代码就可以了。谢谢你的帮助 立即编辑工作代码: 这是我使用的代码: // Update picture to contact

我很难理解如何从联系人那里获取信息,以及如何将信息传递给联系人。有人知道学习的好方法吗

不管怎样,这是我的主要问题。我从网上找到的一些随机代码中获得了联系人图像,但现在我想为我的联系人设置一个新的位图图像。我需要联系人的哪些信息(URI或contact_id),如果有人能给我一个非常简单的代码和步骤,那就太棒了。但是,如果您没有时间逐步完成它,那么只需要一个简单的基本代码就可以了。谢谢你的帮助

立即编辑工作代码: 这是我使用的代码:

// Update picture to contact
        ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

        //contactUriId is my contact URI with just contact id number at the end of the "content://..."
        try
        {
            Bitmap bitmap = bmpNewContact;
            ByteArrayOutputStream image = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG , 100, image);

            Builder contentOp = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);
            contentOp.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(contactUriId), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE});
            contentOp.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, image.toByteArray());
            ops.add(contentOp.build());
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

        // Update
        try
        {
            getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
//将图片更新为联系人
ArrayList ops=新的ArrayList();
//contactUriId是我的联系人URI,仅在“联系人id”的末尾显示联系人id号content://..."
尝试
{
位图位图=bmpNewContact;
ByteArrayOutputStream image=新建ByteArrayOutputStream();
bitmap.compress(bitmap.CompressFormat.JPEG,100,图像);
Builder contentOp=ContentProviderOperation.newUpdate(contacts contract.Data.CONTENT\u URI);
contentOp.withSelection(ContactsContract.Data.CONTACT_ID+“=?”+”和“+ContactsContract.Data.MIMETYPE+”=?”,新字符串[]{String.valueOf(contactUriId),ContactsContract.commonDataTypes.Photo.CONTENT_ITEM_TYPE});
contentOp.withValue(contacts contract.commonDataTypes.Photo.Photo,image.toByteArray());
add(contentOp.build());
}
捕获(例外e)
{
e、 printStackTrace();
}
//更新
尝试
{
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
}
捕获(例外e)
{
e、 printStackTrace();
}
//将图片更新为联系人
ArrayList ops=新的ArrayList();
//contactUriId是我的联系人URI,仅在“联系人id”的末尾显示联系人id号content://..."
尝试
{
位图位图=bmpNewContact;
ByteArrayOutputStream image=新建ByteArrayOutputStream();
bitmap.compress(bitmap.CompressFormat.JPEG,100,图像);
Builder contentOp=ContentProviderOperation.newUpdate(contacts contract.Data.CONTENT\u URI);
contentOp.withSelection(ContactsContract.Data.CONTACT_ID+“=?”+”和“+ContactsContract.Data.MIMETYPE+”=?”,新字符串[]{String.valueOf(contactUriId),ContactsContract.commonDataTypes.Photo.CONTENT_ITEM_TYPE});
contentOp.withValue(contacts contract.commonDataTypes.Photo.Photo,image.toByteArray());
add(contentOp.build());
}
捕获(例外e)
{
e、 printStackTrace();
}
//更新
尝试
{
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
}
捕获(例外e)
{
e、 printStackTrace();
}
//将图片更新为联系人
ArrayList ops=新的ArrayList();
//contactUriId是我的联系人URI,仅在“联系人id”的末尾显示联系人id号content://..."
尝试
{
位图位图=bmpNewContact;
ByteArrayOutputStream image=新建ByteArrayOutputStream();
bitmap.compress(bitmap.CompressFormat.JPEG,100,图像);
Builder contentOp=ContentProviderOperation.newUpdate(contacts contract.Data.CONTENT\u URI);
contentOp.withSelection(ContactsContract.Data.CONTACT_ID+“=?”+”和“+ContactsContract.Data.MIMETYPE+”=?”,新字符串[]{String.valueOf(contactUriId),ContactsContract.commonDataTypes.Photo.CONTENT_ITEM_TYPE});
contentOp.withValue(contacts contract.commonDataTypes.Photo.Photo,image.toByteArray());
add(contentOp.build());
}
捕获(例外e)
{
e、 printStackTrace();
}
//更新
尝试
{
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
}
捕获(例外e)
{
e、 printStackTrace();
}

检查这篇文章是否对你有价值。我有点想要更时髦的东西,因为人们不是在贬低我吗?如果我要这样做,我会把它做好。但是谢谢你的建议。其他人有什么建议吗?看看这篇文章是否对你有价值。我有点想要更时髦的东西,因为人们不是在贬低我吗?如果我要这样做,我会把它做好。但是谢谢你的建议。还有其他人有什么建议吗?
// Update picture to contact
    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

    //contactUriId is my contact URI with just contact id number at the end of the "content://..."
    try
    {
        Bitmap bitmap = bmpNewContact;
        ByteArrayOutputStream image = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG , 100, image);

        Builder contentOp = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);
        contentOp.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(contactUriId), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE});
        contentOp.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, image.toByteArray());
        ops.add(contentOp.build());
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }

    // Update
    try
    {
        getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }