如何使用 flutter contacts_service 更新电话簿中的电话号码?

时间:2021-01-01 17:13:19

标签: flutter flutter-dependencies

我使用 contacts_service: ^0.4.6

我想为电话簿联系人列表添加前缀。但是当我更新联系人数据并调用方法 await ContactsService.updateContact(contact); 时,我得到的是空条目而不是数字。另一方面,当我删除 await ContactsService.deleteContact(contact); 或添加 await ContactsService.addContact(contact); 时,它工作正常。

我搜索了很多,但到目前为止没有解决方案。 提前致谢。

我的代码部分:

Contact updateContact = new Contact();

Iterable<Item> phones = contact.phones.where((phone) {
  var newVal = "+000 ${phone.value}";
  phone = Item(label: phone.label, value: newVal);
  return ContactsHelpers.isNewPhone(phone.value);
}).toList();

contact.phones = phones;
updateContact = contact;
_updateContact(updateContact);

//_deleteContact(updateContact); //Work fine
//_saveContact(updateContact); //Work fine

Future<void> _updateContact(Contact contact) async {
 setState(() { _isLoading = true; });
 var result = await ContactsService.updateContact(contact);
 debugPrint(result); //This returns null;
}

Future<void> _saveContact(Contact contact) async {
  setState(() { _isLoading = true; });
  await ContactsService.addContact(contact);
}
Future<void> _deleteContact(Contact contact) async {
 setState(() { _isLoading = true; });
 await ContactsService.deleteContact(contact);
}

0 个答案:

没有答案