【发布时间】:2017-12-01 15:15:33
【问题描述】:
有没有办法以编程方式将联系人作为“电话联系人”添加到内部电话通讯录?
我试过了:
list.add(ContentProviderOperation
.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
.build());
使用此参数联系人成功保存到手机,但如果我将过滤器设置为“仅显示手机联系人” - 创建的联系人不会出现。顺便说一句,我读到 null 类型的联系人可能会丢失干燥帐户同步(不记得完整的案例)
然后我尝试从现有电话联系人中检索 ACCOUNT_TYPE 和 ACCOUNT_NAME 并获取 Phone 和 Local Phone Account 字符串,但是当我尝试使用相同参数保存联系人时:
list.add(ContentProviderOperation
.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "Phone")
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, "Local Phone Account")
.build());
结果与null类型的第一种情况相同。
是否有任何常量(或者应该是另一种方式)来保存“电话联系人”之类的数据?
【问题讨论】:
标签: android android-contacts contactscontract rawcontacts