我正在尝试通过我的应用程序(基于HTML5,JqueryMobile和PhoneGap)从手机中获取联系人。我最初过滤了按名称的联系人,我的意思是硬编码名称,以便过滤名称,但不通过此本机应用程序获取号码。我认为访问联系人列表存在一些问题。有人可以通过一些代码帮助我解决这个问题。我正在为此应用以下JavaScript。
<script type="text/javascript">
var options = new ContactFindOptions();
options.filter="John";
alert("options.filter = "+options.filter);
var fields = ["displayName", "name"];
// var fields_number = ["displayNumber","number"];
navigator.contacts.find(fields, onSuccess, onError, options);
}
// onSuccess: Get a snapshot of the current contacts
//
function onSuccess(contacts) {
//alert("Success");
for (var i=0; i<contacts.length; i++) {
alert("Display Name = " + contacts[i].displayName);
alert("Display Number = " + contacts[i].displayNumber);
}
}
// onError: Failed to get the contacts
//
function onError(contactError) {
alert('onError!');
}
</script>
答案 0 :(得分:0)
此代码适用于我,我已经在iOS,Android和Blackberry设备上进行了测试。
var filter = ["id","displayName", "name"];
var options = new ContactFindOptions();
options.filter= "John";
options.multiple= true;
navigator.contacts.find( filter ,
function(contacts){
console.log("contacts found::");
console.log(contacts);
}, function(error){
console.log("Contacts Error : "+error);
},options);
答案 1 :(得分:0)
显示phoneNumbers,正确的方法是使用&#34; for&#34;像这样
for(var i = 0; i < contacts.length; i++){ contacts[i].phoneNumbers[0].value }