gpt4 book ai didi

android - 向现有联系人添加新号码时选择正确的 rawContactID

转载 作者:行者123 更新时间:2023-11-29 21:55:10 25 4
gpt4 key购买 nike

我正在构建一个自定义电话簿应用程序。作为其中的一部分,我需要在现有联系人下添加新联系人或其他信息(电话号码或电子邮件)。虽然这在简单的测试用例下效果很好,但在某些情况下(并且何时不明显)我会遇到两个问题:

  1. 一个联系人的多个副本被创建,通常是数百个!这些都是空白的,只是简单地与修改后的原始联系人共享相同的显示名称

  2. 联系人下有多个号码(完全相同)。真正不寻常的是,这些数字在 contactContracts.Data 表中具有相同的 _ID,因此无法理解为什么会有多个实例具有相同的唯一 ID。我检查了一下是不是显示问题,但好像不是

以上两个问题让我怀疑我是否正确插入了信息。所以我想知道的是:

  1. 创建新联系人时,是否应该指定默认的 account_name 和 account_type?我目前对两者都使用 null

  2. 当我向现有联系人添加新电话号码时,将数据插入 contactContracts.Data 表的正确方法是什么?我目前正在插入这个带有 rawContactID 作为引用 ID 的号码,并且我通过使用我的联系人的 contactID 作为引用从 contactContracts.RawContacts 表中获取这个 rawContactID。请注意,因为我经常有多个原始联系人,所以我最终选择了最后一个(任意选择)来插入我的电话号码。

最佳答案

您可以使用 AccountManager 类来获取帐户名称和帐户类型信息。

    final AccountManager accountTypes = AccountManager.get(getApplicationContext());
final Account accounts[] = accountTypes.getAccounts();
for (final Account account: accounts) {
Log.i(TAG, account.name);
}

关于android - 向现有联系人添加新号码时选择正确的 rawContactID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398300/

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