2012-06-24 28 views
1

我用下面的代码在我的Metro应用检索来自人民的App联系人姓名:检索联系人缩略图在Windows 8地铁

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

你的代码看起来还好我。我会检查您的用户帐户是否允许应用使用您的图片。您可以在PC设定中指明:

enter image description here

这可能只是你不允许它,因此该方法总是返回0长度的图像。

编辑:对不起,我只是重新读你的问题,看到你在谈论人民应用程序。对不起,我不确定,但我会在这里留下这个答案,以防其他人试图访问登录用户的帐户图片时遇到此问题。