共有チャームを使用して、DocumentsLibrary の Document.pdf という名前のファイルを電子メールに添付しようとしています。以下のコードは、ローカル マシンで完全に動作します。
private async void OnDataRequestedFiles(DataTransferManager sender, DataRequestedEventArgs e)
{
List<IStorageItem> shares = new List<IStorageItem>();
StorageFile filetoShare = await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync("Document.pdf");
if (filetoShare != null)
{
shares.Add(filetoShare);
filetoShare = null;
}
if (shares != null)
{
DataPackage requestData = e.Request.Data;
requestData.Properties.Title = "Title";
requestData.Properties.Description = "Description"; // The description is optional.
requestData.SetStorageItems(shares);
shares = null;
}
else
{
e.Request.FailWithDisplayText("File not Found.");
}
}
しかし、まったく同じコードを Windows Surface タブレットで実行すると、 「今共有するものは何もありません」という恐ろしいメッセージが表示されます。チャーム フライアウト エリアの右側にあります。
役立つ背景をもう少し説明します。
- ファイル ピッカーを使用するつもりはありません...探しているファイルが正確にわかっている
- マニフェストでドキュメント ライブラリ機能を有効にしました
- マニフェストに pdf のファイル タイプの関連付けを追加しました
- はい、ファイルは存在し、ドキュメント ライブラリにあります。
- 表面のメールアプリでメールアカウントが適切に設定されている
- タブレットからテキストメールを正常に送信できます...添付ファイル付きのメールは送信できません
私が言ったように、これは私の Win 8 開発マシンで期待どおりに動作しますが、Surface では動作しません。Surface のファイルまたはフォルダーのアクセス許可が異なるのでしょうか?
助けてくれてありがとう...これは私を夢中にさせています