Java Android ContentProvider applyBatch未保存所有联系人数据

Java Android ContentProvider applyBatch未保存所有联系人数据,java,android,save,contacts,Java,Android,Save,Contacts,我正在尝试保存一个联系人,其中包含所有可用字段中的数据。 但由于某些原因,并不是所有的数据都被保存。 似乎有效的字段只有: 结构名称 电话 即时通讯 组织机构 谁能告诉我我的错误在哪里 public void saveContact(Context context) { ArrayList<ContentProviderOperation> op_list = new ArrayList<ContentProviderOperatio

我正在尝试保存一个联系人,其中包含所有可用字段中的数据。 但由于某些原因,并不是所有的数据都被保存。 似乎有效的字段只有:

  • 结构名称
  • 电话
  • 即时通讯
  • 组织机构
谁能告诉我我的错误在哪里

public void saveContact(Context context) 
    {       
        ArrayList<ContentProviderOperation> op_list = new ArrayList<ContentProviderOperation>();

        op_list.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
                .withValue(RawContacts.ACCOUNT_TYPE, null)
                .withValue(RawContacts.ACCOUNT_NAME, null)
                .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
        .withValueBackReference(Data.RAW_CONTACT_ID, 0)
        .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
        .withValue(StructuredName.DISPLAY_NAME, "Dislayname")
        .withValue(StructuredName.PREFIX, "Prefix")
        .withValue(StructuredName.GIVEN_NAME, "First")
        .withValue(StructuredName.FAMILY_NAME, "Last")
        .withValue(StructuredName.MIDDLE_NAME, "Middle")
        .withValue(StructuredName.SUFFIX, "Suffix")
        .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                  .withValue(Data.RAW_CONTACT_ID, 0)
                  .withValue(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE)
                  .withValue(Nickname.NAME, "Nickname")
                  .withValue(Nickname.TYPE, Nickname.TYPE_SHORT_NAME)
                  .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                 .withValueBackReference(Data.RAW_CONTACT_ID, 0)                        
                 .withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
                 .withValue(Phone.TYPE, Phone.TYPE_WORK)
                 .withValue(Phone.NUMBER, "66666666")
                 .withValue(Phone.LABEL, "")
                 .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                 .withValue(Data.RAW_CONTACT_ID, 0)
                 .withValue(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE)
                 .withValue(Email.TYPE, Email.TYPE_WORK)
                 .withValue(Email.DATA, "test@test.com")
                 .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                 .withValue(Data.RAW_CONTACT_ID, 0)
                 .withValue(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE)
                 .withValue(Website.TYPE, Website.TYPE_WORK)
                 .withValue(Website.URL, "www.site.com")
                 .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                 .withValue(Data.RAW_CONTACT_ID, 0)
                .withValue(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE)
                .withValue(StructuredPostal.TYPE, StructuredPostal.TYPE_HOME)
                .withValue(StructuredPostal.STREET, "TEST STREET")
                .withValue(StructuredPostal.CITY, "TEST CITY")
                .withValue(StructuredPostal.REGION, "TEST REGION")
                .withValue(StructuredPostal.POSTCODE, "00000")
                .withValue(StructuredPostal.COUNTRY, "TEST COUNTRY")
                .withValue(StructuredPostal.NEIGHBORHOOD, "TEST NEIGHBORHOOD")
                .withValue(StructuredPostal.POBOX, "TEST POBOX")
                .build());

        op_list.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(Data.RAW_CONTACT_ID, 0)
                .withValue(Data.MIMETYPE, ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE )
                .withValue(ContactsContract.CommonDataKinds.Organization.COMPANY, "Company")
                .withValue(ContactsContract.CommonDataKinds.Organization.TITLE, "Job Title")
                .withValue(ContactsContract.CommonDataKinds.Organization.JOB_DESCRIPTION, "Job description/position")
                .withValue(ContactsContract.CommonDataKinds.Organization.DEPARTMENT, "Department")
                .withValue(ContactsContract.CommonDataKinds.Organization.OFFICE_LOCATION, "Office location")
                .withValue(ContactsContract.CommonDataKinds.Organization.SYMBOL, "Symbol")
                .withValue(ContactsContract.CommonDataKinds.Organization.PHONETIC_NAME, "Phonetic name")
                .withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                .build());

        op_list.add(ContentProviderOperation
                  .newInsert(ContactsContract.Data.CONTENT_URI)
                  .withValueBackReference(Data.RAW_CONTACT_ID, 0)
                  .withValue(Data.MIMETYPE, ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE)
                  .withValue(ContactsContract.CommonDataKinds.Im.DATA, "skype@a.com")
                  .withValue(ContactsContract.CommonDataKinds.Im.TYPE, Im.TYPE_WORK)
                  .withValue(ContactsContract.CommonDataKinds.Im.PROTOCOL, Im.PROTOCOL_SKYPE)
                  .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                  .withValue(Data.RAW_CONTACT_ID, 0)
                  .withValue(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE)
                  .withValue(Note.NOTE, "Note")
                  .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                  .withValue(Data.RAW_CONTACT_ID, 0)
                  .withValue(Data.MIMETYPE, android.provider.ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE)
                  .withValue(android.provider.ContactsContract.CommonDataKinds.Event.START_DATE, "2013-06-06")
                  .withValue(android.provider.ContactsContract.CommonDataKinds.Event.TYPE, android.provider.ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY)
                  .withValue(android.provider.ContactsContract.CommonDataKinds.Event.LABEL, "Birthday")
                  .build());

        op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                  .withValue(Data.RAW_CONTACT_ID, 0)
                  .withValue(Data.MIMETYPE, Relation.CONTENT_ITEM_TYPE)
                  .withValue(Relation.NAME, "Relation name")
                  .withValue(Relation.TYPE, Relation.TYPE_BROTHER)
                  .build());

        try {
            context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, op_list);
        } catch(Exception e) {
            Log.d("contacts", "saveContact", e);
        } 
    }
public void saveContact(上下文)
{       
ArrayList op_list=新建ArrayList();
op_list.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_类型,null)
.withValue(RawContacts.ACCOUNT\u名称,空)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、StructuredName.CONTENT\u ITEM\u TYPE)
.withValue(StructuredName.DISPLAY_NAME,“Dislayname”)
.withValue(StructuredName.PREFIX,“PREFIX”)
.withValue(StructuredName.GIVEN_NAME,“First”)
.withValue(StructuredName.FAMILY_NAME,“Last”)
.withValue(StructuredName.MIDDLE_NAME,“MIDDLE”)
.withValue(StructuredName.SUFFIX,“后缀”)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValue(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、昵称.CONTENT\u ITEM\u TYPE)
.withValue(昵称.NAME,“昵称”)
.withValue(昵称.TYPE,昵称.TYPE\u短名称)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、Phone.CONTENT\u ITEM\u TYPE)
.withValue(Phone.TYPE,Phone.TYPE\u工作)
.withValue(电话号码,“6666”)
.withValue(Phone.LABEL,“”)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValue(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、Email.CONTENT\u ITEM\u TYPE)
.withValue(Email.TYPE,Email.TYPE\u工作)
.withValue(Email.DATA,“test@test.com")
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValue(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、Website.CONTENT\u ITEM\u TYPE)
.withValue(Website.TYPE,Website.TYPE\u工作)
.withValue(网址:www.site.com)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValue(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、StructuredPostal.CONTENT\u ITEM\u TYPE)
.withValue(StructuredPostal.TYPE、StructuredPostal.TYPE\u HOME)
.withValue(StructuredPostal.STREET,“测试街”)
.withValue(StructuredPostal.CITY,“测试城市”)
.带值(StructuredPostal.REGION,“测试区域”)
.withValue(StructuredPostal.POSTCODE,“00000”)
.withValue(StructuredPostal.COUNTRY,“测试国家”)
.withValue(StructuredPostal.Neighborary,“测试邻居”)
.带值(StructuredPostal.POBOX,“测试POBOX”)
.build());
操作列表。添加(ContentProviderOperation
.newInsert(contacts合同.Data.CONTENT\u URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、ContactsContract.CommonDataTypes.Organization.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.commondatatypes.Organization.COMPANY,“公司”)
.withValue(ContactsContract.CommonDataTypes.Organization.TITLE,“职务”)
.withValue(contacts contract.commondatatypes.Organization.JOB_DESCRIPTION,“职务说明/职位”)
.withValue(contacts contract.commondatatypes.Organization.DEPARTMENT,“DEPARTMENT”)
.withValue(contacts contract.CommonDataKinds.Organization.OFFICE\u LOCATION,“OFFICE LOCATION”)
.带值(contacts contract.commondatatypes.Organization.SYMBOL,“SYMBOL”)
.withValue(contacts contract.commonDataTypes.Organization.拼音名称,“拼音名称”)
.withValue(ContactsContact.CommonDataTypes.Organization.TYPE,ContactsContact.CommonDataTypes.Organization.TYPE\U工作)
.build());
操作列表。添加(ContentProviderOperation
.newInsert(contacts合同.Data.CONTENT\u URI)
.带ValueBackReference(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、contacts contract.commonDataTypes.Im.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.CommonDataTypes.Im.DATA,“skype@a.com")
.带值(contacts contract.commondatatypes.Im.TYPE、Im.TYPE\u WORK)
.withValue(ContactsContract.CommonDataTypes.Im.PROTOCOL、Im.PROTOCOL\u SKYPE)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValue(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、昵称.CONTENT\u ITEM\u TYPE)
.withValue(注。注,“注”)
.build());
op_list.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValue(Data.RAW\u CONTACT\u ID,0)
.withValue(Data.MIMETYPE、android.provider.ContactsContract.CommonDataTypes.Event.CONTENT\u ITEM\u TYPE)
.withValue(android.provider.ContactsContract.CommonDataTypes.Event.START_日期,“2013-06-06”)
.withValue(android.provider.ContactsContract.CommonDataTypes.Event.TYPE,android.provider.ContactsContract.CommonDataTypes.Event.TYPE\U)
.与