如何将现有联系人添加到“电话联系人”帐户
Posted
技术标签:
【中文标题】如何将现有联系人添加到“电话联系人”帐户【英文标题】:how to add an existing contact to the "Phone contacts" Account 【发布时间】:2012-06-17 13:38:27 【问题描述】:我正在使用此代码向设备添加联系人
long Contact_Id = 100;
ContentValues pCV =new ContentValues();
pCV.put(Contacts.People.NAME, "test");
pCV.put(ContactsContract.Contacts._ID, Contact_Id);
Uri newContactUri = insertContentValues(cResolver,
Contacts.People.CONTENT_URI, pCV);
我想将此联系人添加到某个帐户。我在下面使用此代码
ContentResolver cResolver = context.getContentResolver();
cResolver.insert(uri, ContactsContract.RawContacts.CONTENT_URI,
getAccountType());
public ContentValues getAccountType()
ContentValues cv = new ContentValues();
cv.put(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.sonyericsson.localcontacts");
cv.put(ContactsContract.RawContacts.ACCOUNT_NAME, "Phone contacts");
return cv;
此代码实际上是在“电话联系人”帐户中添加一个新联系人。但我想将我在上面添加的联系人(“测试”)添加到“电话联系人”中。 我该怎么做?
【问题讨论】:
【参考方案1】:经过搜索,我发现将联系人插入本地电话联系人的最佳方法是将ACCOUNT_TYPE
、ACCOUNT_NAME
分配给null
看看这个Link
【讨论】:
我不同意,请参阅link我的评论【参考方案2】:您可以根据自己的选择/要求尝试这两种解决方案。两者都运行良好
添加联系人打开直接编辑活动
try
Intent addContactIntent = new Intent(Intent.ACTION_INSERT);
addContactIntent.setType(ContactsContract.Contacts.CONTENT_TYPE);
addContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE, number);
addContactIntent.putExtra("finishActivityOnSaveCompleted", true);
context.startActivity(addContactIntent);
catch (Exception e)
e.printStackTrace();
创建联系人或将联系人添加到现有联系人的选项
try
Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT);
i.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
// i.putExtra(ContactsContract.Intents.Insert.NAME, "TESTTEST");
i.putExtra(ContactsContract.Intents.Insert.PHONE, number);
context.startActivity(i);
catch (Exception e)
e.printStackTrace();
【讨论】:
以上是关于如何将现有联系人添加到“电话联系人”帐户的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 xmpp 框架和 openfire 服务器将电话簿联系人添加到 ios 中的聊天应用程序?
java - 如何使用json中提供的多个联系人数据在java中的android中添加新的电话联系人