SharedStorageAccessManager 类

定义

通过 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
继承
Object Platform::Object IInspectable 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)

撤销现有的共享令牌。

适用于