我想使用ContactsContract.Intents.Insert添加新联系人.但问题是我不知道有多少电话号码.据我所知,我只能使用PHONE,SECONDARY_PHONE,TERTIARY_PHONE常量传递三个电话号码.有没有办法传递三个以上的数字?
解决方法
找到了解决方案.它包含使用ContentValues:
Intent intent = new Intent(Intent.ACTION_INSERT); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); ArrayList<ContentValues> data = new ArrayList<ContentValues>(); //Filling data with phone numbers for (int i = 0; i < numberOfPhones; i++) { ContentValues row = new ContentValues(); row.put(Data.MIMETYPE,Phone.CONTENT_ITEM_TYPE); row.put(Phone.NUMBER,PhonesNumberList.get(i)); row.put(Phone.TYPE,Phone.TYPE_WORK); data.add(row); } contactIntent.putExtra(ContactsContract.Intents.Insert.NAME,mName); contactIntent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA,data); startActivity(contactIntent);