我使用通过CLI安装的Cordova和Contacts插件获得以下代码。
我要做的是阅读手机中的所有联系人。使用下面的代码,我只得到一个弹出警报,因为" null"而不是显示名称。弹出窗口也只出现一次。
CLI会自动更新Config.xml和清单文件,以包含所需的内容。
我使用的是Cordova 3.5.0版本。我应该包含任何其他JS文件吗?
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var options = new ContactFindOptions();
options.filter = "";
var fields = ["displayName", "name"];
navigator.contacts.find(fields, onSuccess, onError, options);
}
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
alert(contacts[i].displayName); //popup here comes once as null
}
}
function onError(contactError) {
alert('onError!');
}
</script>
答案 0 :(得分:1)
试试这些代码......它适合我。
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="cordova.js"></script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
loadContacts();
}
function loadContacts()
{
var options = new ContactFindOptions();
options.filter="";
options.multiple=true;
filter = ["*"];
navigator.contacts.find(filter, onSuccess, onError, options);
}
function onSuccess(contacts) {
$('#getContactList').html('');
var listItem="";
//alert(contacts.length);
for (var i = 0; i < contacts.length; i++) {
//get name from contacts
alert(contacts[i].name.givenName) ;
}
}
function onError(contactError) {
alert('onError!');
}
答案 1 :(得分:0)
添加以下选项对我有用。除此之外,我现有的代码很好。 displayName工作正常。
options.multiple=true;