我无法获取"文件保存选择器"在Windows Phone 10中为我的通用Windows应用程序工作的合同。我已经添加了"文件保存选择器"和"缓存文件更新程序"对应用清单的声明。
在完整的Windows 10计算机(经过测试的邮件和移动Word)上,它适用于我。
当我在运行WP10的手机上试用它时,我会收到错误代码为A heap has been corrupted (parameters: 0x77344270)
的本机异常0xc0000374
。堆栈跟踪的任何部分都不会进入我的应用程序。
我的TargetFileRequested
听众:
private async void FileSavePickerUI_TargetFileRequested(
FileSavePickerUI sender,
TargetFileRequestedEventArgs args)
{
var deferral = args.Request.GetDeferral();
var filePath = GetSelectedFilePath();
args.Request.TargetFile = await StorageFile.GetFileFromPathAsync(filePath);
CachedFileUpdater.SetUpdateInformation(
args.Request.TargetFile,
CachedFileListener.CreateContentId(contentId, destination),
ReadActivationMode.NotNeeded,
WriteActivationMode.AfterWrite,
CachedFileOptions.None);
deferral.Complete();
}
我覆盖OnCachedFileUpdaterActivated(CachedFileUpdaterActivatedEventArgs args)
,但它永远不会被调用(应用程序在此之前崩溃)。
同样,它只会在WP10中崩溃。 Win10工作正常。
注意:有时它似乎没有崩溃,但仍然没有调用updater方法。
我在这里也试过这个样本: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/FilePickerContracts
我得到了类似的结果,OnCachedFileUpdaterActivated
只在桌面而不是手机上调用。