在插入的Andr​​oid 2.3.5多个联系人 [英] Inserting Multiple Contacts in Android 2.3.5

查看:100
本文介绍了在插入的Andr​​oid 2.3.5多个联系人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的应用程序添加多个联系人。我在数据从XML文件中读取,然后这个包装成强类型对象的列表。这些对象,然后通过循环和我打电话插入到为每一位用户的联系人。

不过我得到了一些非常奇怪的结果,而测试的地方我得到1个或两个工作接触,然后一些空(未知)条目。在出现(未知)成功条目数是随机的,但我很茫然,为什么我不能执行的东西,应该是相当简单的事情。

该启动命令来获取数据,然后将其添加到联系人我的单击事件如下。我可以证实,该数据被读入的联系方式,每次列出,所以它不是与数据的一个问题。

 公共无效的onClick(视图v){
    清单< AddressContent>接触= GetAddresses();
    INT计数器= 0;    如果(!contacts.isEmpty()){
        ArrayList的< ContentProviderOperation> OPS =新的ArrayList< ContentProviderOperation>();        的for(int i = 0; I< contacts.size();我++){            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.RawContacts.CONTENT_URI)
                    .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,
                            空值)
                    .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,
                            空值)
                    .withValue(ContactsContract.RawContacts.AGGREGATION_MODE,
                            ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED).build());            // ------------------------------------------------ - - - 名称            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID,I)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
                            contacts.get(我).getName())建立());            // ------------------------------------------------ ------工作
            //号码            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID,I)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.NUMBER,
                            contacts.get(ⅰ).getPhone())
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
                    。建立());            // ------------------------------------------------ ------传真
            //号码            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID,I)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.NUMBER,
                            contacts.get(ⅰ).getFax())
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK)
                    。建立());            // ------------------------------------------------ ------电子邮件            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID,I)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
                    .withValue(ContactsContract.CommonDataKinds.Email.DATA,
                            contacts.get(ⅰ).getEmail())
                    .withValue(
                            ContactsContract.CommonDataKinds.Email.TYPE,
                            ContactsContract.CommonDataKinds.Email.TYPE_WORK)
                    。建立());            // ------------------------------------------------ ------
            //组织            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID,I)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.COMPANY,
                            contacts.get(ⅰ).getCompany())
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.TYPE,
                            ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                    。建立());            // ------------------------------------------------ ------
            // 地址            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID,I)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.STREET,
                            contacts.get(ⅰ).getStreet())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.CITY,
                            contacts.get(ⅰ).getCity())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.POST code,
                            contacts.get(我).getPost code())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY,
                            contacts.get(ⅰ).getCountry())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
                            ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK)
                    。建立());
            反++;
        }        尝试{
            getContentResolver()。applyBatch(ContactsContract.AUTHORITY,
                    OPS);
        }赶上(例外五){
            e.printStackTrace();
            Toast.makeText(这一点,错误添加联系人,Toast.LENGTH_SHORT).show();
            计数器 - ;
        }        如果(计数器大于0){
            如果(计数器→1){
                Toast.makeText(这一点,通讯录中添加,Toast.LENGTH_SHORT).show();
            }其他{
                Toast.makeText(这一点,添加联系人,Toast.LENGTH_SHORT).show();
            }
        }
    }    如果(反== 0){
        Toast.makeText(这一点,无法添加联系人,Toast.LENGTH_SHORT).show();
    }
}


解决方案

很多乱搞我发现,我需要循环,然后每一次火灾之后。我不能简单地建立了ArrayList和火一旦如上。下面code工作:

 公共无效的onClick(视图v){
清单< AddressContent>接触= GetAddresses();
INT计数器= 0;如果(!contacts.isEmpty()){
    的for(int i = 0; I< contacts.size();我++){
ArrayList的< ContentProviderOperation> OPS =新的ArrayList< ContentProviderOperation>();
        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.RawContacts.CONTENT_URI)
                .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,
                        空值)
                .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,
                        空值)
                .withValue(ContactsContract.RawContacts.AGGREGATION_MODE,
                        ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED).build());        // ------------------------------------------------ - - - 名称        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID,I)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
                        contacts.get(我).getName())建立());        // ------------------------------------------------ ------工作
        //号码        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID,I)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.NUMBER,
                        contacts.get(ⅰ).getPhone())
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.TYPE,
                        ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
                。建立());        // ------------------------------------------------ ------传真
        //号码        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID,I)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.NUMBER,
                        contacts.get(ⅰ).getFax())
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.TYPE,
                        ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK)
                。建立());        // ------------------------------------------------ ------电子邮件        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID,I)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Email.DATA,
                        contacts.get(ⅰ).getEmail())
                .withValue(
                        ContactsContract.CommonDataKinds.Email.TYPE,
                        ContactsContract.CommonDataKinds.Email.TYPE_WORK)
                。建立());        // ------------------------------------------------ ------
        //组织        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID,I)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.Organization.COMPANY,
                        contacts.get(ⅰ).getCompany())
                .withValue(
                        ContactsContract.CommonDataKinds.Organization.TYPE,
                        ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                。建立());        // ------------------------------------------------ ------
        // 地址        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID,I)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.STREET,
                        contacts.get(ⅰ).getStreet())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.CITY,
                        contacts.get(ⅰ).getCity())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.POST code,
                        contacts.get(我).getPost code())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY,
                        contacts.get(ⅰ).getCountry())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
                        ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK)
                。建立());    尝试{
        getContentResolver()。applyBatch(ContactsContract.AUTHORITY,
                OPS);
反++;
    }赶上(例外五){
        e.printStackTrace();
        Toast.makeText(这一点,错误添加联系人,Toast.LENGTH_SHORT).show();
        计数器 - ;
    }
    }    如果(计数器大于0){
        如果(计数器→1){
            Toast.makeText(这一点,通讯录中添加,Toast.LENGTH_SHORT).show();
        }其他{
            Toast.makeText(这一点,添加联系人,Toast.LENGTH_SHORT).show();
        }
    }
}如果(反== 0){
    Toast.makeText(这一点,无法添加联系人,Toast.LENGTH_SHORT).show();
}

}

I am trying to add multiple contacts from my application. I am reading in data from an xml file and then wrapping this up into a list of strongly typed objects. These objects and then looped through and I am calling an insert into the users contacts for each one.

However I am getting some very bizarre results whilst testing where I am getting either 1 or two working contacts and then a number of empty (Unknown) entries. The number of successful entries over (Unknowns) appears to be random but I am at a loss as to why I cannot perform something that should be fairly simple to do.

My click event which initiates the command to fetch the data and then add it to the contacts is below. I can confirm that the data is being read into the contacts list each time so it is not a problem with the data.

public void onClick(View v) {
    List<AddressContent> contacts = GetAddresses();     
    int counter = 0;        

    if (!contacts.isEmpty()) {                  
        ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

        for (int i = 0; i < contacts.size(); i++) {             

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.RawContacts.CONTENT_URI)
                    .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,
                            null)
                    .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,
                            null)
                    .withValue(ContactsContract.RawContacts.AGGREGATION_MODE, 
                            ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED).build());

            // ------------------------------------------------------ Name

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, i)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
                            contacts.get(i).getName()).build());

            // ------------------------------------------------------ Work
            // Number

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, i)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.NUMBER,
                            contacts.get(i).getPhone())
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
                    .build());

            // ------------------------------------------------------ Fax
            // Number

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, i)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.NUMBER,
                            contacts.get(i).getFax())
                    .withValue(
                            ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK)
                    .build());

            // ------------------------------------------------------ Email

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, i)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
                    .withValue(ContactsContract.CommonDataKinds.Email.DATA,
                            contacts.get(i).getEmail())
                    .withValue(
                            ContactsContract.CommonDataKinds.Email.TYPE,
                            ContactsContract.CommonDataKinds.Email.TYPE_WORK)
                    .build());

            // ------------------------------------------------------
            // Organisation

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, i)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.COMPANY,
                            contacts.get(i).getCompany())
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.TYPE,
                            ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                    .build());

            // ------------------------------------------------------
            // Address              

            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, i)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.STREET, 
                            contacts.get(i).getStreet())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.CITY, 
                            contacts.get(i).getCity())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, 
                            contacts.get(i).getPostcode())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, 
                            contacts.get(i).getCountry())
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
                            ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK)
                    .build());
            counter++;
        }

        try {
            getContentResolver().applyBatch(ContactsContract.AUTHORITY,
                    ops);
        } catch (Exception e) {
            e.printStackTrace();
            Toast.makeText(this, "Error adding contact", Toast.LENGTH_SHORT).show();
            counter--;
        }

        if (counter > 0) {
            if (counter > 1) {
                Toast.makeText(this, "Contacts added", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(this, "Contact added", Toast.LENGTH_SHORT).show();
            }
        }
    }

    if (counter == 0) {
        Toast.makeText(this, "Unable to add contact", Toast.LENGTH_SHORT).show();
    }
}

解决方案

After much messing around I have found that I need to loop then fire each time. I cannot simply build up the arraylist and fire once as above. The following code works:

public void onClick(View v) {
List<AddressContent> contacts = GetAddresses();     
int counter = 0;        

if (!contacts.isEmpty()) {                  


    for (int i = 0; i < contacts.size(); i++) {             
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.RawContacts.CONTENT_URI)
                .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,
                        null)
                .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,
                        null)
                .withValue(ContactsContract.RawContacts.AGGREGATION_MODE, 
                        ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED).build());

        // ------------------------------------------------------ Name

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID, i)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
                        contacts.get(i).getName()).build());

        // ------------------------------------------------------ Work
        // Number

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID, i)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.NUMBER,
                        contacts.get(i).getPhone())
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.TYPE,
                        ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
                .build());

        // ------------------------------------------------------ Fax
        // Number

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID, i)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.NUMBER,
                        contacts.get(i).getFax())
                .withValue(
                        ContactsContract.CommonDataKinds.Phone.TYPE,
                        ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK)
                .build());

        // ------------------------------------------------------ Email

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID, i)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Email.DATA,
                        contacts.get(i).getEmail())
                .withValue(
                        ContactsContract.CommonDataKinds.Email.TYPE,
                        ContactsContract.CommonDataKinds.Email.TYPE_WORK)
                .build());

        // ------------------------------------------------------
        // Organisation

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID, i)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.Organization.COMPANY,
                        contacts.get(i).getCompany())
                .withValue(
                        ContactsContract.CommonDataKinds.Organization.TYPE,
                        ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                .build());

        // ------------------------------------------------------
        // Address              

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(
                        ContactsContract.Data.RAW_CONTACT_ID, i)
                .withValue(
                        ContactsContract.Data.MIMETYPE,
                        ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.STREET, 
                        contacts.get(i).getStreet())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.CITY, 
                        contacts.get(i).getCity())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, 
                        contacts.get(i).getPostcode())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, 
                        contacts.get(i).getCountry())
                .withValue(
                        ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
                        ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK)
                .build());

    try {
        getContentResolver().applyBatch(ContactsContract.AUTHORITY,
                ops);
counter++;
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(this, "Error adding contact", Toast.LENGTH_SHORT).show();
        counter--;
    }
    }



    if (counter > 0) {
        if (counter > 1) {
            Toast.makeText(this, "Contacts added", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "Contact added", Toast.LENGTH_SHORT).show();
        }
    }
}

if (counter == 0) {
    Toast.makeText(this, "Unable to add contact", Toast.LENGTH_SHORT).show();
}

}

这篇关于在插入的Andr​​oid 2.3.5多个联系人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆