gpt4 book ai didi

android - 插入具有特定 contactid 的 RawContact

转载 作者:太空狗 更新时间:2023-10-29 12:54:07 24 4
gpt4 key购买 nike

我正在尝试在 android 中创建一个具有特定联系人 ID 的 rawcontact,因此它链接到具有相同 contactid(不是 rawcontactid)的其他 rawcontact。

问题是我无法将 Contact_ID 插入到 ContentProviderOpertations 中。使用以下代码返回“插入失败”

    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int id = (int) contactId;

String condition = Data.RAW_CONTACT_ID + "=?";
String[] parameters = { "" + id };

try {

String accountName = account.name;
String accountType = account.type;
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, accountType)
.withValue(RawContacts.ACCOUNT_NAME, accountName).build());
ops.add(getAccountGroupOperation(account));

ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, 0)
.withValue(Data.CONTACT_ID, "" + id)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, contact.getName())
.build());
MyApplication.getAppContext().getContentResolver()
.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
...
}

我做错了什么?

最佳答案

可以这样做,但不是以您想要的方式。您可以通过将类型设置为 TYPE_KEEP_TOGETHER 将两个原始联系人 ID 添加到 AggregationExceptions 表,使联系人应用程序加入两个原始联系人

http://developer.android.com/reference/android/provider/ContactsContract.AggregationExceptions.html

关于android - 插入具有特定 contactid 的 RawContact,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8741788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com