Partilhar via


SharedStorageAccessManager Classe

Definição

Permite que um aplicativo compartilhe um arquivo com outro aplicativo passando um token por meio de ativação de URI, serviço de aplicativo, API REST etc. O aplicativo de destino resgata o token para obter o arquivo compartilhado pelo aplicativo de origem.

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
Herança
Object Platform::Object IInspectable SharedStorageAccessManager
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

No exemplo a seguir, um aplicativo de origem inicia um aplicativo de mapeamento e fornece um arquivo .gpx que contém instruções de direção a serem exibidas pelo aplicativo de destino.

Primeiro, o aplicativo de origem obtém um token para o arquivo .gpx e usa a ativação de protocolo para iniciar o aplicativo de destino.

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);
}

Em seguida, o aplicativo de destino obtém o arquivo .gpx fornecendo o token recebido do aplicativo de origem.

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));
    }
}

Comentários

Esta é a sequência de etapas que permite que um aplicativo compartilhe um arquivo com outro aplicativo passando um token como parte de uma ativação de URI, por exemplo.

  • O aplicativo de origem chama o método AddFile para obter o token de compartilhamento que ele passa para o aplicativo de destino, que ele inicia com um Uri.
  • O aplicativo de destino chama o método RedeemTokenForFileAsync para obter o arquivo compartilhado.
  • Opcionalmente, o aplicativo de origem pode chamar o método RemoveFile para revogar um token obtido anteriormente chamando o método AddFile . Para obter mais informações sobre a ativação de URI, consulte Iniciar o aplicativo padrão para um URI.

O uso da classe SharedStorageAccessManager e dos tokens de compartilhamento está sujeito aos seguintes requisitos e restrições.

  • Um token de compartilhamento só pode ser resgatado uma vez. Depois disso, o token não é mais válido.
  • Um token de compartilhamento expira após 14 dias e não é mais válido.
  • O aplicativo de origem não pode obter mais de mil tokens de compartilhamento. No entanto, depois que um token é resgatado, removido ou expira, ele não conta mais com a cota do aplicativo de origem.

Não há suporte para arquivos de rede com essa classe.

Métodos

AddFile(IStorageFile)

Obtém o token de compartilhamento que permite que um aplicativo compartilhe o arquivo especificado com outro aplicativo.

RedeemTokenForFileAsync(String)

Obtém um arquivo compartilhado por outro aplicativo fornecendo o token de compartilhamento recebido do aplicativo de origem.

RemoveFile(String)

Revoga um token de compartilhamento existente.

Aplica-se a