gpt4 book ai didi

javascript - Phonegap 联系人。更新联系人时保存重复的电话号码

转载 作者:可可西里 更新时间:2023-11-01 04:47:54 24 4
gpt4 key购买 nike

我对 Phonegap contacts.save 有疑问。当我创建联系人时在 iOS 和 Android 中完美运行,但是,当我尝试更新联系人时,有重复的文件作为 phoneNumbers、电子邮件、url、ims、地址,我使用的是 Phonegap 2.1 和 Xcode 4.5.1。

有人可以帮我解决这个问题吗?。我感谢你的时间。谢谢。

在简历中:

  • navigator.contacts.create();工作正常。
  • 当我尝试更新联系人时,正确保存,但添加电话号码而不是更新。

我的代码是:

var options = new ContactFindOptions();
options.filter = 20; //just it's an example. Looking for id 20.
var fields = ['id'];
var contact;
navigator.contacts.find(fields,function(contacts){
if (contacts.length==0)
contact = navigator.contacts.create();
else
contact = contacts[0];

var tContactName = new ContactName();
tContactName.givenName = 'Name';
tContactName.LastName = 'LastName';
contact.name = tContactName;

var tPhoneNumbers[2];
tPhoneNumbers[0] = new ContactField('work', '123456789012',true);
tPhoneNumbers[1] = new ContactField('home', '120987654321', false);
contact.phoneNumbers = tPhoneNumbers;

contact.save(function(contact) {
navigator.notification.alert('Saved sucessfully!!!',function(){},'Title');
}, function(contactError) {
navigator.notification.alert('Error contact save: '+contactError.code,function(){},'Title');
}
}, function(contactError) {
navigator.notification.alert('Error contact find: '+contactError.code,function(){},'Title');
}, options);

最佳答案

根据 W3C Contact 规范,代码完全按照应有的方式工作。但这并不意味着它有意义 :)

无论如何,当您创建一个新的电话号码数组并将其设置为等于 contact.phoneNumbers 属性时,您实际上是在向联系人添加电话号码。如果你想编辑/替换现有的电话号码,你需要请求电话号码作为你的“字段”的一部分。然后,您需要遍历现有电话号码并根据需要进行编辑。

是的,这是违反直觉的,但这是适合您的 W3C api。

关于javascript - Phonegap 联系人。更新联系人时保存重复的电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13102667/

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