2012-06-24 51 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長度的圖像。

編輯:對不起,我只是重新讀你的問題,看到你在談論人民應用程序。對不起,我不確定,但我會在這裏留下這個答案,以防其他人試圖訪問登錄用戶的帳戶圖片時遇到此問題。