我想从地址簿中访问联系人的照片,并将其显示在HTML中。
我的应用程序基于使用Cordova的IBM Worklight,因此该应用程序基于HTML,CSS和JS。
我已设法显示地址簿中的完整联系人列表。但是,我不知道如何加载联系人照片。
我可以在原生中加载联系人照片,使用Base64Encoded进行编码 字符串并将其传递给HTML。但是,这种方法看起来真的很讨厌。 如果用户有200个联系人,应用程序肯定会 崩溃。
我只想使用联系人ID从HTML加载每个联系人的联系人照片,就像我们在原生Android应用程序中一样。
感谢。
答案 0 :(得分:2)
使用Worklight 6.2中的以下代码,我在地址簿中搜索了全名中带有“Adar”的所有联系人,并在HTML中插入了他们的全名和照片。
这是在iOS中测试的,但应该与Android类似。您可能需要在android \ native \ AndroidManifest.xml中添加以下权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
common \ index.html
BODY
标记中的 HTML:
<div id="contacts">
</div>
JavaScript:常见\ js \ main.js
的内容function wlCommonInit(){
var options = new ContactFindOptions();
options.filter = "Adar";
options.multiple = true;
var fields = ["name","photos"];
navigator.contacts.find(fields, onSuccess, onError, options);
}
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
$("#contacts").append(
"<p><b>Contact name: </b>" + contacts[i].name.formatted + "</p><br/>" +
"<img src=" + contacts[i].photos[0].value + "/><br/><br/>"
);
}
};
function onError(contactError) {
alert('onError');
};