如何在Windows应用商店应用启动时自动加载以前使用的文件

时间:2014-10-21 02:40:32

标签: c# .net file-io windows-store-apps filepicker

我在Windows应用商店应用开发中遇到various websites表示无法实现的情况。有人可以确认在Windows应用商店应用中是否可以使用以下内容以及如何以编程方式完成该操作?

  • 用户点击"Load File"按钮加载文档,显示标准Metro FilePicker,选择文档,然后将文件加载到应用程序中进行编辑。应用程序以某种方式保存了此文件或其他资源的路径,这些资源将允许文件在将来的应用程序启动时自动打开。
  • 用户通过关闭应用程序然后打开它来重新启动应用程序。
  • 启动时,应用程序会加载最近打开的文档,会自动向用户显示该文档以便再次进行编辑(无需向用户显示另一个FilePicker)。用户对文档进行更改,点击键盘上的Control + S,然后自动更改保存到文件中。

我在我当前的应用程序中尝试了这一点,但似乎从OneDrive自动加载文件路径不起作用(我得到System.UnauthorizedAccessException: Access is denied.)。在线,我已经读过,包括文档功能(允许我访问我的OneDrive文件)将不允许我的应用程序获得批准,因为我需要批准,这对我来说是不可能的。

1 个答案:

答案 0 :(得分:3)

您无法从路径重新构建任意访问权限。您需要挂起StorageFile以保持其访问权限。要缓存跨会话,请使用Windows.Storage.AccessCache类,例如StorageApplicationPermissions.FutureAccessList和MostRecentlyUsedList。

这些将允许您保存选择器授予的权限,以便在应用重新启动时重复使用。

我在http://blogs.msdn.com/b/wsdevsol/archive/2012/12/05/stray-from-the-path-stick-to-the-storagefile.aspx

更详细地讨论了这个问题