Hi,
I am trying to add new contact using my android application, but not able 
to get this. 
This code always execute "catch" and returns false. Is there any additional 
settings i need to apply.

I have already added following permissions to my Manifest file. 

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

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

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

CODE:

public static boolean insertAndroidContact(Account account, String name, 
String username, String headline)
{
ArrayList<ContentProviderOperation> batch = new 
ArrayList<ContentProviderOperation>();
        ContentResolver resolver = 
AndroidAddressBookConnector.getInstance().getContext().getContentResolver();
        
ContentProviderOperation.Builder builder = 
ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);
        builder.withValue(RawContacts.ACCOUNT_NAME, account.name);
        builder.withValue(RawContacts.ACCOUNT_TYPE, account.type);
        builder.withValue(RawContacts.SYNC1, username);
        batch.add(builder.build());
        
        builder = 
ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
        
builder.withValueBackReference(ContactsContract.CommonDataKinds.StructuredName.RAW_CONTACT_ID,
 
0);
        builder.withValue(ContactsContract.Data.MIMETYPE, 
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
        
builder.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, 
name);
        batch.add(builder.build());
        
        builder = 
ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
        
builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);
        builder.withValue(ContactsContract.Data.DATA1, headline);
        builder.withValue(ContactsContract.Data.DATA2, "Mydata");
        batch.add(builder.build());
        
        try{
            resolver.applyBatch(ContactsContract.AUTHORITY, batch);
            return true;
        }
        catch(Exception e)
        {
            return(false);
        }
}


Thank you
Akash

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to