私はbyte[]
含む画像データを持っています。この画像データを Windows Phone 8 の StoredContact の表示画像として設定したいと思います。
byte[] data = ...
ContactStore store = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite, ContactStoreApplicationAccessMode.ReadOnly);
StoredContact contact = await store.FindContactByRemoteIdAsync(remoteId);
using (IInputStream stream = new MemoryStream(data).AsInputStream())
{
await contact.SetDisplayPictureAsync(stream);
}
しかし、私System.UnauthorizedAccessException
は電話に出AsInputStream()
ます。ID_CAP_CONTACTS
-capability セットがあり、連絡先はカスタム データ ストアに属しており、書き込みアクセス権があります。誰でもこれを解決する方法を知っていますか?
編集:
以下を使用してバイトデータを抽出し、Web リクエストからデータを取得します。
DataContractJsonSerializer serializer = new DataContractJsonSerializer(new PhotoObject().GetType());
var result = (PhotoObject)serializer.ReadObject(stream);
byte[] data = Convert.FromBase64String(result.Data);
[DataContract]
class PhotoObject
{
[DataMember(Name = "size")]
public string Size { get; set; }
[DataMember(Name = "data")]
public string Data { get; set; }
}