我的应用程序完全冻结后才有机会运行一次。这是上下文: 我正在构建一个UWP应用程序,它将与用户目录一起使用,监视其中的文件,并在UI控件中列出它们。我通过创建手动文件夹选择提示将目录添加到futureaccess列表。我还有一个服务类,它应该给我一个驻留在该目录中的文件列表。一旦我到达GetFolderFromPathAsync方法,该应用程序就会冻结。没有异常或任何类型的错误,应用程序尝试启动并无限期地处于启动过程中。 这是调用方法的类:
public class ReplayDirectoryManager
{
public async static Task<List<StorageFile>> GetAllReplaysFromReplayDirectory()
{
string replayDirectoryPath = SettingsServices.SettingsService.Instance.ReplayFolderLocation;
StorageFolder replayFolder = await StorageFolder.GetFolderFromPathAsync(replayDirectoryPath);
return new List<StorageFile>(await replayFolder.GetFilesAsync());
}
}
如何让我的代码工作?有什么建议吗?
以下是我用于将位置添加到futureaccess列表的代码
FolderPicker picker = new FolderPicker();
picker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
picker.FileTypeFilter.Add("*");
StorageFolder folder = await picker.PickSingleFolderAsync();
if (folder != null)
{
Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(folder);
ReplayFolderLocation = folder.Path;
}
答案 0 :(得分:0)
使用Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(folder);
时,您可以获得令牌。
您可以使用保存令牌进行设置。
您可以通过令牌获取文件夹
folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
@Romasz Thx。