Compartir a través de


SharedStorageAccessManager Clase

Definición

Permite que una aplicación comparta un archivo con otra aplicación pasando un token a través de la activación de URI, el servicio de aplicaciones, la API REST, etc. La aplicación de destino canjea el token para obtener el archivo compartido por la aplicación de origen.

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
Herencia
Object Platform::Object IInspectable SharedStorageAccessManager
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

En el ejemplo siguiente, una aplicación de origen inicia una aplicación de asignación y proporciona un archivo .gpx que contiene indicaciones de conducción que la aplicación de destino mostrará.

En primer lugar, la aplicación de origen obtiene un token para el archivo .gpx y usa la activación de protocolo para iniciar la aplicación 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);
}

A continuación, la aplicación de destino obtiene el archivo .gpx proporcionando el token recibido de la aplicación de origen.

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

Comentarios

Esta es la secuencia de pasos que permite a una aplicación compartir un archivo con otra aplicación pasando un token como parte de una activación de URI, por ejemplo.

  • La aplicación de origen llama al método AddFile para obtener el token de uso compartido que pasa a la aplicación de destino, que se inicia con un URI.
  • La aplicación de destino llama al método RedeemTokenForFileAsync para obtener el archivo compartido.
  • Opcionalmente, la aplicación de origen puede llamar al método RemoveFile para revocar un token que obtuvo anteriormente llamando al método AddFile . Para obtener más información sobre la activación de URI, consulta Iniciar la aplicación predeterminada para un URI.

El uso de la clase SharedStorageAccessManager y de los tokens de uso compartido está sujeto a los siguientes requisitos y restricciones.

  • Un token de uso compartido solo se puede canjear una vez. Después, el token ya no es válido.
  • Un token de uso compartido expira después de 14 días y ya no es válido.
  • La aplicación de origen no puede obtener más de mil tokens de uso compartido. Después de canjear, quitar o expirar un token, ya no cuenta con la cuota de la aplicación de origen.

Los archivos de red no se admiten con esta clase.

Métodos

AddFile(IStorageFile)

Obtiene el token de uso compartido que permite a una aplicación compartir el archivo especificado con otra aplicación.

RedeemTokenForFileAsync(String)

Obtiene un archivo compartido por otra aplicación proporcionando el token de uso compartido recibido de la aplicación de origen.

RemoveFile(String)

Revoca un token de uso compartido existente.

Se aplica a