我正在使用 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!')),
);
}
尝试添加异步方法并使用
await
进行更新,如下所示:
await ContactsService.updateContact(contact); // UPDATE CONTACT