2

連絡先から情報を取得する方法と、連絡先に情報を送信する方法を理解するのに苦労しています。どなたか良い学習方法をご存じないでしょうか?

とにかく、私の主な質問に。インターネットで見つけたランダムなコードから連絡先の画像を取得しましたが、連絡先に新しいビットマップ画像を設定したいと考えています。連絡先に必要な情報 (URI または Contact_id) と、非常に基本的で単純な単純なコードと、それを介した手順の種類を誰かが教えてくれたら素晴らしいでしょう。しかし、それをステップ実行する時間がない場合は、単純な基本コードだけで十分です。助けてくれてありがとう。

EDIT GOT WORKING CODE NOW:これは私が使用したコードです:

// 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();
        }
4

1 に答える 1

0
// 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();
    }
于 2015-03-18T12:44:03.870 に答える