2012-12-20 35 views
0

如何使用联系人编号以编程方式编辑android中的本机联系人的姓,名,移动号码,照片,电子邮件,地址。请帮帮我。提前致谢。如何使用联系人ID编辑nativecontacts字段

+1

你尝试过什么到目前为止?有了这个声誉,你应该知道如何问。 – Renjith

+0

检查此:http://www.pocketmagic.net/2011/03/android-contacts-invoke-the-edit-contact-intent/#.UNLZMVLBbcs –

回答

0

上按钮点击执行以下操作:

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

和onActivityResult功能做到这一点:

情况下EDIT_CONTACT:

  if (resultCode == RESULT_OK) { 
       Uri contactData = data.getData(); 
       Cursor cur = managedQuery(contactData, null, null, null, null); 
       ContentResolver contect_resolver = getContentResolver(); 

       if (cur.moveToFirst()) { 
        String id = cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts._ID)); 
        String name = ""; 
        String no = ""; 
        String key = cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts.LOOKUP_KEY)); 


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

        Cursor phoneCur = contect_resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
          ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] { 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; 
+0

非常感谢Ramesh .... – AndroidRaji

+0

它为你工作???? –

+0

还没有试过..现在我看到你的电子邮件答案 – AndroidRaji

相关问题