如何以编程方式在android联系人中添加3个以上的号码

如何以编程方式在android联系人中添加3个以上的号码,android,android-contacts,Android,Android Contacts,我需要修改应用程序中的联系人应用程序联系人。我采用以下方法: private void UpdateInsertContact() { Intent intentInsertEdit = new Intent(Intent.ACTION_INSERT_OR_EDIT); intentInsertEdit.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE); // Add code he

我需要修改应用程序中的联系人应用程序联系人。我采用以下方法:

private void UpdateInsertContact()
    {

        Intent intentInsertEdit = new Intent(Intent.ACTION_INSERT_OR_EDIT);
        intentInsertEdit.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
        // Add code here to insert extended data, if desired
        intentInsertEdit.putExtra(ContactsContract.Intents.Insert.PHONE, "7547874590");
        intentInsertEdit.putExtra(ContactsContract.Intents.Insert.NAME, contactName);
        intentInsertEdit.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE, "7547874590");
        intentInsertEdit.putExtra(ContactsContract.Intents.Insert.TERTIARY_PHONE, "7547874590");

        // Sends the Intent with an request ID
        startActivity(intentInsertEdit);
    }

但这样我只能添加3个联系人。如何添加3个以上的联系人。

是的,您可以使用Intent添加3个以上的联系人。但是您必须使用contentValues并将其添加到ArrayList中,并将其作为额外的内容传递给intent,如下所示

Intent intentInsertEdit = new Intent(Intent.ACTION_INSERT_OR_EDIT);
intentInsertEdit.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
intentInsertEdit.putExtra(ContactsContract.Intents.Insert.NAME, contactName);
ArrayList<ContentValues> data = new ArrayList<ContentValues>();

//Filling data with phone numbers
ContentValues row = new ContentValues();
row.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
row.put(Phone.NUMBER, "97");
row.put(Phone.TYPE, Phone.TYPE_MOBILE);
data.add(row);

ContentValues row2 = new ContentValues();
row2.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
row2.put(Phone.NUMBER, "9746");
row2.put(Phone.TYPE, Phone.TYPE_WORK);
data.add(row2);

ContentValues row3 = new ContentValues();
row3.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
row3.put(Phone.NUMBER, "974611");
row3.put(Phone.TYPE, Phone.TYPE_HOME);
data.add(row3);


ContentValues row4 = new ContentValues();
row4.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
row4.put(Phone.NUMBER, "97461180");
row4.put(Phone.TYPE, Phone.TYPE_OTHER);
data.add(row4);
intentInsertEdit.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data);
startActivity(intentInsertEdit);
Intent intentInsertEdit=新的意图(Intent.ACTION\u INSERT\u或\u EDIT);
intentInsertEdit.setType(Contacts合同.Contacts.CONTENT项目类型);
intentInsertEdit.putExtra(contacts contract.Intents.Insert.NAME,contactName);
ArrayList数据=新的ArrayList();
//用电话号码填充数据
ContentValues行=新的ContentValues();
row.put(Data.MIMETYPE、Phone.CONTENT\u ITEM\u TYPE);
第二行(电话号码,“97”);
row.put(Phone.TYPE,Phone.TYPE_MOBILE);
添加数据(行);
ContentValues行2=新ContentValues();
行2.put(Data.MIMETYPE、Phone.CONTENT\u ITEM\u TYPE);
第2行。put(电话号码,“9746”);
行2.put(Phone.TYPE,Phone.TYPE_-WORK);
添加数据(第2行);
ContentValues行3=新ContentValues();
行3.put(Data.MIMETYPE、Phone.CONTENT\u ITEM\u TYPE);
第3行。put(电话号码,“974611”);
行3.put(Phone.TYPE,Phone.TYPE\u HOME);
添加数据(第3行);
ContentValues行4=新ContentValues();
行4.put(Data.MIMETYPE、Phone.CONTENT\u ITEM\u TYPE);
第4行put(电话号码,“97461180”);
行4.put(Phone.TYPE,Phone.TYPE_其他);
添加数据(第4行);
intentInsertEdit.putParcelableArrayListExtra(contacts contract.Intents.Insert.DATA,DATA);
起始触觉(有意插入);
这样,您可以在同一联系人中添加多个号码,希望这能回答您的问题:)