SharedStorageAccessManager 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
通过 URI 激活、应用服务、REST API 等传递令牌,使应用能够与其他应用共享文件。目标应用兑换令牌以获取源应用共享的文件。
public ref class SharedStorageAccessManager abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class SharedStorageAccessManager final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public static class SharedStorageAccessManager
Public Class SharedStorageAccessManager
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
在以下示例中,源应用启动映射应用并提供一个 .gpx 文件,其中包含目标应用要显示的驾驶路线。
首先,源应用获取 .gpx 文件的令牌,并使用协议激活来启动目标应用。
public async void ShareMostRecentDirections()
{
// Get the most recently opened .gpx file
// from the recently used file list.
StorageItemMostRecentlyUsedList mostRecent =
StorageApplicationPermissions.MostRecentlyUsedList;
String mruToken = mostRecent.Entries.FirstOrDefault().Token;
StorageFile file = await mostRecent.GetFileAsync(mruToken);
// Get the token to share access to the updated .gpx file.
String sharingToken = SharedStorageAccessManager.AddFile(file);
//Launch the driving application .
Uri driveTo = new Uri("nokia-drive-to:?Gpxfile=" + sharingToken);
var launch = await Launcher.LaunchURIAsync(driveTo);
}
接下来,目标应用通过提供从源应用接收的令牌来获取 .gpx 文件。
protected override async void OnActivated(IActivatedEventArgs args)
{
var protocolArgs = args as ProtocolActivatedEventArgs;
// Get the token from the URI.
var queryStrings = new WwwFormUrlDecoder(protocolArgs.Uri.Query);
string gpxFileToken = queryStrings.GetFirstValueByName("GpxFile");
// Get the .gpx file and call a custom method
// to display driving directions.
if (!string.IsNullOrEmpty(gpxFileToken))
{
PlotGpxFile(await
SharedStorageAccessManager.RedeemTokenForFileAsync(gpxFileToken));
}
}
注解
下面是一系列步骤,这些步骤使应用能够通过将令牌作为 URI 激活的一部分传递来与其他应用共享文件。
- 源应用调用 AddFile 方法以获取它传递给目标应用的共享令牌,该令牌通过 URI 启动。
- 目标应用调用 RedeemTokenForFileAsync 方法来获取共享文件。
- (可选)源应用可以调用 RemoveFile 方法,以撤销之前通过调用 AddFile 方法获取的令牌。 有关 URI 激活的详细信息,请参阅 启动 URI 的默认应用。
使用 SharedStorageAccessManager 类和共享令牌受以下要求和限制的约束。
- 共享令牌只能兑换一次。 之后,令牌不再有效。
- 共享令牌在 14 天后过期,不再有效。
- 源应用无法获取超过一千个共享令牌。 但是,令牌在兑换、删除或过期后,不再计入源应用的配额。
此类不支持网络文件。
方法
AddFile(IStorageFile) |
获取允许应用与其他应用共享指定文件的共享令牌。 |
RedeemTokenForFileAsync(String) |
通过提供从源应用接收的共享令牌,获取另一个应用共享的文件。 |
RemoveFile(String) |
撤销现有的共享令牌。 |