2

我正在尝试使用此代码更新联系电子邮件地址

String selectEmail = ContactsContract.Data.CONTACT_ID + "=? AND " + ContactsContract.Data.MIMETYPE + "='"  + 
    ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE + "'";
    String[] emailArgs = new String[]{Id}; 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
    .withSelection(selectEmail, emailArgs)
    .withValue(ContactsContract.CommonDataKinds.Email.DATA, email)
    .build()); 

我正在使用此代码获取“Id”

String[] returnVals = new String[] {ContactsContract.CommonDataKinds.Phone.CONTACT_ID};
   this.cur = this.cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
               returnVals, 
               ContactsContract.CommonDataKinds.Phone.NUMBER + " = \"" + phoneNumber + "\"", 
               null, 
               null);

我的问题是

  1. 我是否使用正确的方法来使用电话号码获取 Contact_ID
  2. 联系人没有正确更新,它正在更改电子邮件、姓名和号码等所有字段。难道我做错了什么?

需要帮忙。

4

1 回答 1

1

请在阅读此答案之前格式化您的代码... ;)

您可以在此处找到如何更新联系人的示例以及在此处进行号码查找的示例。


汤姆好运

于 2010-08-18T11:32:32.847 回答