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. Leetcode: Split Array Largest Sum

    Given an array which consists of non-negative integers and an integer m, you can split the array int ...

  2. ajax是什么

    1.ajax是什么? ajax: asynchronous javascript and xml: 异步的javascript和xml. ajax是一种用来改善用户体验的技术,其本质是利用浏览器内置的 ...

  3. Java语言的特点

    一. 面向对象:其实是现实世界模型的自然延伸.现实世界中任何实体都可以看作是对象.对象之间通过消息相互作用.另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例.如果说传统的过程式 ...

  4. 芯航线FPGA学习套件之4*4矩阵键盘模块测试手册

    芯航线FPGA学习套件之4*4矩阵键盘模块测试手册   本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的矩阵键盘模块的测试方法:   连接开发板,如下所示: 2.将矩阵键盘模块与开发板按如下图所 ...

  5. mongodb 安装、开启服务 和 php添加mongodb扩展

    1.下载mongodb:https://www.mongodb.org/downloads#production  (https://www.mongodb.org/dl/win32) 2.安装.配置 ...

  6. noi 6045 开餐馆

    题目链接:http://noi.openjudge.cn/ch0206/6045/ 解题报告:参考了konjac 蒟蒻的. 题意: 有N个地址,从中选一些开餐馆,要保证相邻餐馆的距离大于k.问最大利润 ...

  7. background-clip 制作文字火焰效果

    1.Background-clip的语法 background-clip: border-box || padding-box || context-box || no-clip || text 2. ...

  8. [问题2015S09] 复旦高等代数 II(14级)每周一题(第十教学周)

    [问题2015S09]  设 \(A,B\) 是 \(n\) 阶复矩阵, 满足 \(\mathrm{rank}(AB-BA)\leq 1\), 证明: \(A,B\) 可同时上三角化. 问题解答请在以 ...

  9. [问题2014S12] 解答

    [问题2014S12]  解答 先证明一个简单的引理. 引理  设 \(B\) 为 \(n\) 阶半正定 Hermite 阵, \(\alpha\) 为 \(n\) 维复列向量, 若 \(\overl ...

  10. Python3基础 reverse 将列表倒序排列

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...