在 Flutter 中无法使用 [contacts_service] 包更新联系人

问题描述 投票:0回答:1

我正在使用 contact_service 插件来更新我的 Flutter 应用程序中的用户联系人。

当我更新旧联系人时,没有发生错误,但电话号码已从联系人列表中删除。

这是我的修改代码。 代码只需要修改电话号码,新号码在modifiedNumber变量中

  void _updateSelectedContacts() {
    setState(() {
      for (var contact in contacts) {
        final id = contact.identifier ?? contact.displayName ?? '';
        if (selectedContacts[id] == true) {
          final updatedPhones = contact.phones?.map((phone) {
            final modifiedNumber = modifyBeninNumber(phone.value ?? "");
            return Item(label: phone.label, value: modifiedNumber);
          }).toList();

          if (updatedPhones != null) {
            contact.phones = updatedPhones;
            print(contact.displayName);
            // update contact
            ContactsService.updateContact(contact);
          }
        }
      }

      // remove selected contact
      selectedContacts.updateAll((key, value) => false);
      _selectAll = false;
    });

    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(content: Text('Contacts updated successfully!')),
    );
  }
android flutter dart mobile android-contacts
1个回答
0
投票

尝试添加异步方法并使用

await
进行更新,如下所示:

  await ContactsService.updateContact(contact); // UPDATE CONTACT
© www.soinside.com 2019 - 2024. All rights reserved.