科尔多瓦联系人插件 - 电子邮件空



我正在使用"Cordova"为IOS和Android创建应用程序。我需要访问设备的联系人。我为此使用插件"org.apache.cordova.contacts"。

这是我用来执行此操作的代码部分,我得到了响应......

function ContactsCtrl($scope){
    var options = new ContactFindOptions();
    options.multiple = true;
    options.filter = "Benoit";
    var fields = ["displayName", "name", "nickname "];
    navigator.contacts.find(fields, onSuccess, onError, options);
}
function onSuccess(contacts) {
    var ret = '';
    for (var i = 0; i < contacts.length; i++) {
        for(x in contacts[i]){
            ret += x+' :'+contacts[i][x]+"n";
        }
    }
    $('#resultContact').html(html);
}

而回应:

rawId :null
displayName :Nasher
name :[object Object]
nickname :null
phoneNumbers :null
emails :null
...
...

问题 :"电子邮件"字段和"电话号码"字段始终为空(在Android和iOS上),但它们存在于"通讯录"中

有人有想法为什么?

我偶然发现了这个话题,因为在我的情况下,contact.displayName显示为null(我在contactFields中有displayName)。

将"name"添加到contactFields数组后,displayName被填充。

phonegap文档说:

联系人字段

:用作搜索限定符的联系人字段。这 生成的联系人对象仅包含这些字段的值。 (DOMString[])[必填]

不要将emailsphoneNumbers字段添加到fields数组。尝试:

var fields = ["displayName", "name", "nickname", "emails", "phoneNumbers"];

最新更新