2012-12-20 86 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

相關問題