我使用此代码将联系人添加到设备
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;
}
此代码实际上是向"手机通讯录添加新联系人"帐户。但是我想添加上面添加的联系人(" test")以添加到"手机联系人"。 我怎么能这样做?
答案 0 :(得分:1)
搜索后我发现将联系人插入本地电话联系人的最佳方式是将ACCOUNT_TYPE
,ACCOUNT_NAME
分配给null
,看看{{3} }}
答案 1 :(得分:0)
您可以根据自己的选择/要求尝试两种解决方案。两种方法都很完美
添加联系人直接打开编辑活动
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();
}