StorageItemAccessList 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示从静态 StorageApplicationPermissions.FutureAccessList 属性) 获取的应用的未来访问列表 (。 通过选择文件和文件夹,你的用户向你的应用授予访问项的权限(若未授权可能无法访问)。 如果将这些项添加到你的未来访问列表,然后当你的应用需要以后重新访问这些项时将保留该权限。 项作为 StorageFile 和 StorageFolder 对象存储在将来的访问列表中。
public ref class StorageItemAccessList sealed : IStorageItemAccessList
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class StorageItemAccessList final : IStorageItemAccessList
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class StorageItemAccessList : IStorageItemAccessList
Public NotInheritable Class StorageItemAccessList
Implements IStorageItemAccessList
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
此示例演示如何将项添加到应用的 FutureAccessList 和 MostRecentlyUsedList。
StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
// Add to MRU with metadata (For example, a string that represents the date)
string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "20120716");
// Add to FA without metadata
string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);
}
else
{
// The file picker was dismissed with no file selected to save
}
#include <sstream>
#include <winrt/Windows.Storage.h>
#include <winrt/Windows.Storage.AccessCache.h>
#include <winrt/Windows.Storage.Pickers.h>
using namespace winrt;
using namespace Windows::Storage::Pickers;
using namespace Windows::Storage;
...
winrt::fire_and_forget AddToLists()
{
FileSavePicker savePicker;
auto plainTextExtensions{ winrt::single_threaded_vector<winrt::hstring>() };
plainTextExtensions.Append(L".txt");
savePicker.FileTypeChoices().Insert(L"Plain Text", plainTextExtensions);
savePicker.SuggestedFileName(L"New Document");
StorageFile file{ co_await savePicker.PickSaveFileAsync() };
if (file)
{
// Add to MRU with metadata (For example, a string that represents the date)
winrt::hstring mruToken { Windows::Storage::AccessCache::StorageApplicationPermissions::MostRecentlyUsedList().Add(file, L"20120716") };
// Add to FA without metadata
winrt::hstring faToken { Windows::Storage::AccessCache::StorageApplicationPermissions::FutureAccessList().Add(file) };
}
else
{
// The file picker was dismissed with no file selected to save
}
}
建议存储 由 StorageApplicationPermissions.MostRecentlyUsedList.Add 和 StorageApplicationPermissions.FutureAccessList.Add 返回的令牌,以便可以使用它们检索所添加项的相应列表条目。 在本示例中,我们分别将令牌存储在 和 faToken
中mruToken
,但不对它们执行任何其他操作。
此外,示例中的 savePicker
变量包含示例创建的 FileSavePicker 对象。 若要了解有关使用文件选取器的详细信息,请参阅 使用选取器打开文件和文件夹 和使用 选取器保存文件。
注解
使用此未来访问列表保留对文件和位置的访问权限,这些文件和位置可能不包含在由应用清单中的功能指定的可访问位置中。 例如,如果你的应用使用文件选取器访问文件 (或位置) ,我们建议你将从文件选取器返回的 StorageFile 存储在此将来的访问列表中。
此列表最多可以存储 1000 个项目,必须由应用维护。
若要查看更多代码示例,请参阅 文件选取器示例 和 文件访问示例。
若要了解如何使用 FutureAccessList 和 MostRecentlyUsedList,请参阅 跟踪最近使用的文件和文件夹。
若要详细了解应用有权访问的文件和位置,请参阅 文件访问权限。
属性
Entries |
获取用于从访问列表中检索存储项的 对象。 |
MaximumItemsAllowed |
获取访问列表可以包含的最大存储项数。 |
方法
Add(IStorageItem) |
将新的存储项添加到访问列表。 |
Add(IStorageItem, String) |
将新的存储项和随附的元数据添加到访问列表。 |
AddOrReplace(String, IStorageItem) |
将新的存储项添加到访问列表中,或替换指定的项(如果它已存在于列表中)。 |
AddOrReplace(String, IStorageItem, String) |
将新的存储项和随附的元数据添加到访问列表中,或者替换指定项(如果列表中已存在)。 |
CheckAccess(IStorageItem) |
确定应用是否有权访问访问列表中的指定存储项。 |
Clear() |
从访问列表中删除所有存储项。 |
ContainsItem(String) |
确定访问列表是否包含指定的存储项。 |
GetFileAsync(String) |
从列表中检索指定的 StorageFile 。 |
GetFileAsync(String, AccessCacheOptions) |
使用指定的选项从列表中检索 StorageFile 。 |
GetFolderAsync(String) |
从列表中检索指定的 StorageFolder 。 |
GetFolderAsync(String, AccessCacheOptions) |
使用指定的选项从列表中检索指定的 StorageFolder 。 |
GetItemAsync(String) |
从最近使用的 (MRU) 列表中检索指定项 (,例如文件或文件夹) 。 |
GetItemAsync(String, AccessCacheOptions) |
使用指定的选项从列表中检索指定项 (,如文件或文件夹) 。 |
Remove(String) |
从访问列表中删除指定的存储项。 |