简体   繁体   English

当我向其中添加新的电话号码时,Android联系人消失

[英]Android contact disappears when I add new phone number to it

This code causes the contact to disappear. 此代码使联系人消失。 I'm trying to add another phone number to a contact 我正在尝试向联系人添加另一个电话号码

public void addNumber(Context cos, String contactID, String newPhoneNumber){
        ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();


ops.add(ContentProviderOperation
                        .newUpdate(ContactsContract.Data.CONTENT_URI)
                        .withSelection(ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"=?", new String[]{contactID})
                        .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                        .withValue(ContactsContract.CommonDataKinds.Phone.DATA, newPhoneNumber).build());

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

Try like this 这样尝试

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

ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
      .withValue(Data.RAW_CONTACT_ID, rawContactId)
      .withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
      .withValue(Phone.NUMBER, "1-800-GOOG-411")
      .withValue(Phone.TYPE, Phone.TYPE_CUSTOM)
      .withValue(Phone.LABEL, "free directory assistance")
      .build());
 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM