Skip to content Skip to sidebar Skip to footer

How To Edit The Nativecontacts Fields Using Contact Id

How to edit firstname,surname,mobilenumber,photo,email,address in native contact in android programmatically using contact id. Please help me. Thanks in advance.

Solution 1:

on Button click do the following:

Intentin=newIntent(Intent.ACTION_INSERT_OR_EDIT);
        in.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
        startActivityForResult(in,EDIT_CONTACT);

and in onActivityResult Function do this:

case EDIT_CONTACT:

if (resultCode == RESULT_OK) {
                UricontactData= data.getData();
                Cursorcur= managedQuery(contactData, null, null, null, null);
                ContentResolvercontect_resolver= getContentResolver();

                if (cur.moveToFirst()) {
                    Stringid= cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
                    Stringname="";
                    Stringno="";
                    Stringkey= cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts.LOOKUP_KEY));


                    Stringwhere= ContactsContract.Data.DISPLAY_NAME + " = ? AND " + 
                    ContactsContract.Data.MIMETYPE + " = ? AND " +
                    String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE) + " = ? ";
                    String[] params = newString[] {name,
                    ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE,
                    String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME)};

                    CursorphoneCur= contect_resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
                            ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", newString[] { id }, null);

                    if (phoneCur.moveToFirst()) {
                        name = phoneCur.getString(phoneCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                        no = phoneCur.getString(phoneCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                        key = phoneCur.getString(phoneCur.getColumnIndexOrThrow(ContactsContract.Contacts.LOOKUP_KEY));

                        System.out.println("EDITIDDDDDDDDDD"+name);
                        System.out.println("EDITIDDDDDDDDDD"+no);
                        System.out.println("EDITIDDDDDDDDDD"+key);



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

                    if ( (null == phoneCur)  ) {
        //                          createContact(name, phone);
                      } else {
                        ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
                                .withSelection(where, params)
                                .withValue(ContactsContract.CommonDataKinds.Phone.DATA, no)
                                .build());
                    }

                    phoneCur.close();

                    try {
                        cr.applyBatch(ContactsContract.AUTHORITY, ops);
                    } catch (RemoteException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (OperationApplicationException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
             */



                    id = null;
                    name = null;
                    no = null;
                    phoneCur = null;
                    key = null;

                contect_resolver = null;
                cur = null;

                             }
                    }
            }

        break;

Post a Comment for "How To Edit The Nativecontacts Fields Using Contact Id"