我使用以下代码从我的Metro App中的People's App中检索联系人姓名:
function selectContact() {
var picker = Windows.ApplicationModel.Contacts.ContactPicker();
picker.commitButtonText = "Select";
picker.selectionMode = Windows.ApplicationModel.Contacts.ContactSelectionMode.contacts;
picker.pickMultipleContactsAsync().done(function (contacts) {
if(contacts.length>0){
var j =document.getElementById("contactlist");
contacts.forEach(function (contact) {
j.innerHTML += contact.name + "<br>";
});
}
现在,我需要检索联系人缩略图并将其添加到我的应用程序中。联系人有一个getThumbnailAsync()方法,但我不知道如何使用它...我使用下面的代码,但thumbnail.size始终为零:
contacts.forEach(function (contact) {
contact.getThumbnailAsync().done(function (thumbnail) {
if (thumbnail.size > 0) {
var imageBlob = window.URL.createObjectURL(thumbnail,false);
document.getElementById("contactlist").innerHTML += "<img id=" + i + " /><br>";
document.getElementById(i).src = imageBlob;
i++;
}
});
});
答案 0 :(得分:0)
您的代码对我来说没问题。我会检查您的用户帐户是否允许应用使用您的图片。您可以在PC设置中指定:
可能只是你不允许它,因此该方法总是为图像返回0长度。
编辑:抱歉,我刚刚重新阅读了您的问题,发现您正在谈论人物应用。对不起,我不确定,但我会在这里留下这个答案,以防其他人在尝试查看已登录用户的帐户图片时偶然发现此事。