tags:

views:

128

answers:

1

Im trying to write a new contact to the contact database. But I am getting the following error: java.lang.UnsupportedOperationException: Aggregate contacts are created automatically

I have added the following fields in the manifest:

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

This is my code:

    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

    String accountType =null;
    String accountName = null;

    Builder builder = ContentProviderOperation.newInsert(
            ContactsContract.Contacts.CONTENT_URI);
    builder.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, accountType);
    builder.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, accountName);

    ContentProviderOperation op = builder.build();
    Log.i("contacts","op.getUri(): "+op.getUri());
    ops.add(op);

    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
            .withValueBackReference(
                    ContactsContract.Data.RAW_CONTACT_ID,
                    ops.size())
                    .withValue(
                            ContactsContract.Data.MIMETYPE,StructuredName.CONTENT_ITEM_TYPE)
                            .withValue(StructuredName.DISPLAY_NAME, contact.getFullName())
                            .build());

    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
            .withValueBackReference(
                    ContactsContract.Data.RAW_CONTACT_ID,
                    ops.size())
                    .withValue(
                            ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                            .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, contact.getPhoneNumber())
                            .build());

     try {
        this.cr.applyBatch(ContactsContract.AUTHORITY, ops);
    }

Hope someone can help!

A: 

It's very helpful. thanks for submission.

Can you suggest me one thing?

How we can insert a contact into UICC (3G SIM) on Andorid 2.1 through Application.

Sandeep Nagpal