以下のコードを使用して、Metro アプリの People's アプリから連絡先名を取得します。
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++;
}
});
});