Windows 8系统在管理用户的文件时,会将用户近期访问的文件添加到对应应用的近期访问列表中,所有的Windows应用商店应用都有各自的近期访问列表,根据文件的上一次访问时间,可以在列表中对文件进行排序,并在列表中的访问项数量超过25个时删除最旧的访问项。

在近期访问列表(MostRecentlyUsedList,以下简称为MRU列表)中存储的是实现了IStorageItem接口的类的对象,因此表示文件的StorageFile类的对象和表示文件夹的StorageFolder类的对象都可以添加到MRU列表中。

如果要将近期访问项添加到MRU列表中,需要首先通过StorageApplicationPermissions类的MostRecentlyUsedList属性获得MRU列表,然后以需要添加到列表中的存储项和与之对应的可选元数据为参数调用Add方法来实现,需要添加的存储项指的就是StorageFile类的对象或StorageFolder类的对象,元数据为字符串类型,用于对列表中的存储项进行描述。示例代码如下所示:

String mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(pickedFile, "我的图片");

代码假定已经通过上面介绍的文件选取器选择了一张图片,并获得了代表这张图片的pickedFile对象,然后调用Add方法将pickedFile对象添加到MRU列表中,可以看到,为其指定的元数据为“我的图片”。

将文件添加到MRU列表之后,Add方法会返回一个与此列表项相对应的字符串标记,以便用来唯一地标识这个列表项。不仅如此,由于这个标记是与列表项一一对应的,所以还可以使用这个标记对MRU列表进行检索,并获得其中存储的文件或文件夹。以下示例代码通过上面获得的标记mruToken获得与之对应的文件。

StorageFile retrievedFile = await Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.GetFileAsync(mruToken);

如果想要一次性获得MRU列表中的所有列表项,可以使用StorageItemMostRecentlyUsedList类的Entries属性,获得之后还可以使用Token属性分别得到每一个列表项的标记,进而通过标记获得与之对应的文件或文件夹,示例代码如下所示:

AccessListEntryView mruEntries = StorageApplicationPermissions.MostRecentlyUsedList.Entries;

if (mruEntries.Count > 0)

{

    foreach (AccessListEntry entry in mruEntries)

    {

        //获取令牌

        string token = entry.Token;

        //TODO:获取文件或文件夹

        var listItem = StorageApplicationPermissions.MostRecentlyUsedList.GetItemAsync(token);

    }

}

else

{

    // 对空的MRU列表的处理

}

Windows Store App 近期访问列表的更多相关文章

  1. Windows Store App 过渡动画

    Windows Store App 过渡动画     在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...

  2. 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)

    这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...

  3. Windows store app[Part 4]:深入WinRT的异步机制

    接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如 ...

  4. Windows store app[Part 3]:认识WinRT的异步机制

    WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...

  5. 05、Windows Store app 的图片裁切(更新)

    在 Win Phone Silverlight api 中,有一个 PhotoChooserTask 选择器,指定宽.高属性,在选择图片的时候, 可以进行裁切,代码: PhotoChooserTask ...

  6. 01、Windows Store APP 设置页面横竖屏的方法

    在 windows phone store app 中,判断和设置页面横竖屏的方法,与 silverlight 中的 Page 类 不同,不能直接通过 Page.Orientation 进行设置.而是 ...

  7. Windows store app[Part 1]:读取U盘数据

    Windows 8系统下开发App程序,对于.NET程序员来说,需要重新熟悉下类库. 关于WinRT,引用一张网上传的很多的结构图: 图1 针对App的开发,App工作在系统划定的安全沙箱内,所以通过 ...

  8. Windows Store App JavaScript 开发:获取文件和文件夹列表

    在应用程序中有时可能需要获取用户库中的内容,以便执行相关的操作.如果要获取某个用户库中的内容,需要先获取到这个用户库,获得用户库可以通过Windows.Storage命名空间中的KnownFolder ...

  9. Windows Store App 访问应用内部文件

    访问应用程序内部的文件可以使用多种不同的方法,13.1节中已经介绍过相关的方法,除此之外,还可以使用文件的URI地址直接对文件进行检索,这种访问方式需要用到StorageFile类的静态方法GetFi ...

随机推荐

  1. c# signalr聊天室开源资料

    SignalR+LayIM源码: http://www.cnblogs.com/panzi/p/5742089.html 钉钉客户端源码: http://www.cnblogs.com/loveson ...

  2. VS2010--2013使用技巧及使用过程中遇到的问题

    Microsoft Visual Studio 2010 --2013默认情况下是不显示代码的行号的,但是在编译出错时,可点击下面输出窗口中的错误提示进行定位.但是这样操作起来你有没有感觉到不方便呢. ...

  3. PAT乙级 1032. 挖掘机技术哪家强(20)

    1032. 挖掘机技术哪家强(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 为了用事实说明挖掘机技术到底 ...

  4. ReportDB数据库存储选型分析

    SQLServer关于reportDB的存储选型做如下分析: 网络存储两大主要类型: 1.NAS 支持的文件传输协议:NFS(unix/linux文件共享).SMB(windows).samba(li ...

  5. DNS Prefetch

    DNS 实现域名到IP的映射.通过域名访问站点,每次请求都要做DNS解析.目前每次DNS解析,通常在200ms以下.针对DNS解析耗时问题,一些浏览器通过DNS Prefetch 来提高访问的流畅性. ...

  6. Deferred解决JS同步问题

    测试脚本: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  7. SqlCommandBuilder的讨论

    之前也看过别人的解释,总感觉解释的不太理想,当然我自己的解释我尽量解释理想点,SqlCommandBuilder 是提供给外界对数据库的反操作的,如果只是对数据库的一个提取的话,那么用下面的代码足以 ...

  8. [课程设计]Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划)

    Scrum 3.1 多鱼点餐系统开发进度(第三阶段项目构思与任务规划) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到 ...

  9. html、css 【珍藏】

       行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效.     块级元素: 各占据一 ...

  10. centos6.6编译安装lnmp系列之mysql

    简介: 环境:虚拟机+centos6.6 Mysql版本:5.6.21 Mysql下载地址:http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.21.t ...