gpt4 book ai didi

android - 使用 ContactsContract 批量添加联系人

转载 作者:行者123 更新时间:2023-11-30 04:52:46 27 4
gpt4 key购买 nike

任何人都可以帮助我在地址簿中添加新联系人并使用新的 ContactsContract API 批量应用它们吗?我找不到合适的教程。

我可以添加一个联系人。但是批量更新失败,添加了未知联系人。

目前我在收集信息的同时循环遍历 while 循环。用户写入,将其存储在 ArrayList<ContentProviderOperation> 中并申请和

ContentProviderResult[] result = getContentResolver().applyBatch(ContactsContract.AUTHORITY, op_list);

但只有一个联系人更新了姓名,其他联系人更新为未知联系人。

请帮忙提供一个示例代码,其中添加了姓名、昵称、手机、职位、电子邮件、Skype id、工作国家等字段。

有什么帮助吗?谢谢。

最佳答案

以下代码将添加 RawContact 条目,然后添加名称。要添加任何其他字段,请使用用于添加具有适当值的名称的类似代码。

    // Raw Contact
ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);
builder.withValue(RawContacts.ACCOUNT_NAME, account.name);
builder.withValue(RawContacts.ACCOUNT_TYPE, account.type);
builder.withValue(RawContacts.SYNC1, username);
operationList.add(builder.build());

// Name
builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
builder.withValueBackReference(ContactsContract.CommonDataKinds.StructuredName.RAW_CONTACT_ID, 0);
builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
builder.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, entry.getName().getFullName().getValue() );
operationList.add(builder.build());

try {
mContentResolver.applyBatch(ContactsContract.AUTHORITY, operationList);
} catch (Exception e) {
e.printStackTrace();
}

你好!

关于android - 使用 ContactsContract 批量添加联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680610/

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