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일 후에 만료되며 더 이상 유효하지 않습니다.
  • 원본 앱은 1,000개 이상의 공유 토큰을 가져올 수 없습니다. 그러나 토큰을 사용, 제거 또는 만료한 후에는 더 이상 원본 앱의 할당량에 포함되지 않습니다.

네트워크 파일은 이 클래스에서 지원되지 않습니다.

메서드

AddFile(IStorageFile)

앱이 지정된 파일을 다른 앱과 공유할 수 있도록 하는 공유 토큰을 가져옵니다.

RedeemTokenForFileAsync(String)

원본 앱에서 받은 공유 토큰을 제공하여 다른 앱에서 공유하는 파일을 가져옵니다.

RemoveFile(String)

기존 공유 토큰을 취소합니다.

적용 대상