Javascript Cordova Contacts插件ContactFindOptions
我正在为我的应用程序使用Cordova,我正在尝试用用户的联系人填充listview。我正在使用ContactFindOption()函数,并尝试了示例代码 这是我的密码: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
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