android – 通过意图添加多个电话号码的新联系人

我想使用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);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...