2016-12-26 52 views
0

我需要從我的應用程序修改聯繫人應用聯繫人。我正在使用以下方式:如何在android中以編程方式在聯繫人中添加3個以上的號碼

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個以上的混合物。

回答

0

是的,你可以使用Intent添加三個以上的聯繫人。但你必須使用contentValues並把它添加到ArrayList然後將其作爲一個額外的通過意圖,如下圖所示

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); 

這種方式,您可以在同一聯繫人添加多個號碼,希望這回答了你的問題: )

相關問題