为什么phonegap只能获得我的一个联系人?

时间:2014-06-24 09:10:11

标签: cordova phonegap-plugins

我的代码是:

document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        function onSuccess(contacts) {
            console.log(contacts.length);
            for (var i = 0; i < contacts.length; i++) {
                console.log("ID: " + i);
                console.log("DisplayName: "  + contacts[i].displayName);
                console.log("phoneNumbers: " + contacts[i].phoneNumbers[0].value);
            }
        }

    function onError(contactError) {
        alert('onError!');
    };

    var options = new ContactFindOptions();
    options.filter = "";
    filter = ["displayName", "phoneNumbers"];
    navigator.contacts.find(filter, onSuccess, onError, options);
}

结果是:
1
ID:0
DisplayName:xxxxx
phoneNumbers:xxxxxxxx

为什么呢?我的手机中有多个项目。

2 个答案:

答案 0 :(得分:1)

W3C中多个默认值从true更改为false 联系人规范。提及options.multiple = true它会起作用。

var options = new ContactFindOptions();
options.filter = "";
options.multiple=true;
filter = ["displayName", "phoneNumbers"];
navigator.contacts.find(filter, onSuccess, onError, options);

答案 1 :(得分:1)

只需设置options.multiple=true,如果这不起作用,只需在true中添加第五个参数navigator.contacts.find(filter, onSuccess, onError, options);

navigator.contacts.find(filter, onSuccess, onError, options,true); 

这里,true告诉用户是否期望多个联系人。请参阅this官方文档。