2012-05-29 114 views
6

我正在開發一個應用程序,我必須添加電話號碼,電子郵件,網站,地址等到我現有的聯繫人點擊一個按鈕。如何添加電話號碼,電子郵件,網站等現有的聯繫人

按鈕的點擊功能放在這裏

private void updateContact(String name) 
    { 
Log.d(TAG, "in updatecontact()"); 
Log.d(TAG,"Contact name to be updated = "+name); 
ContentResolver cr = getContentResolver(); 
    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 = managedQuery(ContactsContract.Data.CONTENT_URI, null, where, params, null); 

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

if ((phoneCur == null) ) { 
    add_new_contact(); 
} else { 
    // Phone no 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Phone.DATA, Tel) 
      .build()); 
    // Email 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Email.DATA, Email) 
      .build()); 
    // Website 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Website.DATA, Url) 
      .build()); 
    //Organization 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Organization.DATA, Org) 
      .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(); 
}}} 

我無法更新我的聯繫方式。

+3

很高興知道你正在開發的應用程序。希望它適合你。順便說一句,你爲什麼發佈這個?這不完全是一個問題,是嗎? –

+0

而且,你的問題是什麼? – Lucifer

回答

1

我假設你不知道該怎麼做,那是你的問題。

這可能有助於

ContentResolver cResolver = context.getContentResolver(); 
public void AddToContact() 
{ 
    insertContentValues(cResolver, Contacts.Phones.CONTENT_URI, getPhoneCV(phone)); 
} 

public ContentValues getPhoneCV(RowData data) { 
     ContentValues cv = new ContentValues(); 

     String PhoneNumber = "055434553"; 
     cv.put(Contacts.Phones.NUMBER,PhoneNumber); 
     return cv; 
    } 

private Uri insertContentValues(ContentResolver cResolver, Uri uri, ContentValues cv) { 
     if (cv != null) { 
      return cResolver.insert(uri, cv); 
     } 
     return null; 
    } 
+0

在,你有什麼根據發佈這個答案??? – Lucifer

+0

我不明白嗎?答案有什麼問題? – AnasBakez

+0

你能告訴我那邊有什麼問題嗎? – Lucifer

相關問題