Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cordova Contacts插件ContactFindOptions_Javascript_Cordova_Contact - Fatal编程技术网

Javascript Cordova Contacts插件ContactFindOptions

Javascript Cordova Contacts插件ContactFindOptions,javascript,cordova,contact,Javascript,Cordova,Contact,我正在为我的应用程序使用Cordova,我正在尝试用用户的联系人填充listview。我正在使用ContactFindOption()函数,并尝试了示例代码 这是我的密码: function onDeviceReady() { var options = new ContactFindOptions(); options.filter=""; // empty search string returns all contacts options.mult

我正在为我的应用程序使用Cordova,我正在尝试用用户的联系人填充listview。我正在使用ContactFindOption()函数,并尝试了示例代码

这是我的密码:

function onDeviceReady() {
    var options = new ContactFindOptions();
    options.filter="";          // empty search string returns all contacts
    options.multiple=true;      // return multiple results
    filter = ["displayName","phoneNumber"];   // return contact.displayName field

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

var contactsArray = [];

function onSuccess(contacts) {
    for (var i=0; i<contacts.length; i++) {
        if (contacts[i].displayName) {
            contactArray.push(contacts[i]);
        }
    }
    alert(contactsArray);
}

提前谢谢

您需要安装联系人插件

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git

您没有为OneError定义回调函数,就像您使用“onSuccess”函数一样

您已经将过滤器设置为
[“displayName”,“phoneNumber”]这是不正确的

这方面的文档有点不完整。这是你想做的

首先,您需要为查找创建一个
onError
函数。因为这是必需的功能。您可以使用与执行
onSuccess
功能相同的方法来执行此操作

其次,你的
过滤器=[“displayName”,“phoneNumber”]不正确。您需要声明
fields=[“displayName”,“phoneNumber”],而不是
filter
。这将仅返回联系人的displayName和phoneNumber字段

下面是完整代码的外观

函数ondevicerady(){
var options=new ContactFindOptions();
options.filter=”“;//不需要提供此选项,因为如果未传入,它将返回所有选项
options.multiple=true;//返回多个结果
变量字段=[“displayName”,“phoneNumber”];//返回displayName和phoneNumber字段
navigator.contacts.find(字段、onSuccess、onError、选项);
}
var contactsArray=[];
成功时的功能(联系人){

对于(var i=0;i)当我安装此插件时,我在获取插件时出错。我认为这不是正确的方法?是的,出于某些原因,这对我也不起作用。我在答案中进行了修复。哦,好的,非常感谢,希望这能起作用。如果答案是正确的,我会确保接受你的答案
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git