我有以下代码:
<html>
<head>
<title>Contact test</title>
<script type="text/javascript" src="cordova-2.2.0.js"></script>
<script type="text/javascript" src="app/lib/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript" charset="utf-8">
alert('Add Listener');
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert('Device is ready');
navigator.contacts.find("*", function(contacts) {
for (var i = 0; i < contacts.length; i++) {
$('body').append('<div>' + contacts[i].displayName + '</div>');
}
}, function(error) {
alert('Contacts.find failed: ' + error);
});
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的PhoneGap设置为2.2.0版.代码是一个zip文件,只有:
index.html app/lib/jquery.min.js
没有cordova-2.2.0.js,没有config.xml.
当我在Ripple中测试时,它会按预期给出一个联系人列表.
当我在手机上部署应用程序(三星Galaxy Nexus,运行Jelly Bean)时,它会给我一个警告窗口,上面写着"Contacts.find failed:JSON error".
看起来方法"navigator.contacts.find"失败了.
起初我认为这是一个权限问题,但是当我安装应用程序时,我能够看到该应用程序要求"您的个人信息",其中包含来自手机的阅读联系人.
我想知道出了什么问题?
我也有这个问题.我找到了一个解决方案来解决它.
请在navigator.contacts.find方法中添加'option'参数.
http://docs.phonegap.com/en/2.3.0/cordova_contacts_contacts.md.html#contacts.find
添加参数后,它可以正常工作.
| 归档时间: |
|
| 查看次数: |
2209 次 |
| 最近记录: |