SharedStorageAccessManager Classe

Définition

Permet à une application de partager un fichier avec une autre application en transmettant un jeton via l’activation d’URI, le service d’application, l’API REST, etc. L’application cible échange le jeton pour obtenir le fichier partagé par l’application source.

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
Héritage
Object Platform::Object IInspectable SharedStorageAccessManager
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Dans l’exemple suivant, une application source lance une application de mappage et fournit un fichier .gpx qui contient des instructions de conduite à afficher par l’application cible.

Tout d’abord, l’application source obtient un jeton pour le fichier .gpx et utilise l’activation du protocole pour lancer l’application cible.

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

Ensuite, l’application cible obtient le fichier .gpx en fournissant le jeton reçu de l’application source.

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

Remarques

Voici la séquence d’étapes qui permet à une application de partager un fichier avec une autre application en passant un jeton dans le cadre d’une activation d’URI, par exemple.

  • L’application source appelle la méthode AddFile pour obtenir le jeton de partage qu’elle transmet à l’application cible, qu’elle lance avec un URI.
  • L’application cible appelle la méthode RedeemTokenForFileAsync pour obtenir le fichier partagé.
  • Si vous le souhaitez, l’application source peut appeler la méthode RemoveFile pour révoquer un jeton qu’elle a obtenu précédemment en appelant la méthode AddFile . Pour plus d’informations sur l’activation d’URI, consultez Lancer l’application par défaut pour un URI.

L’utilisation de la classe SharedStorageAccessManager et des jetons de partage est soumise aux exigences et restrictions suivantes.

  • Un jeton de partage ne peut être utilisé qu’une seule fois. Après cela, le jeton n’est plus valide.
  • Un jeton de partage expire au bout de 14 jours et n’est plus valide.
  • L’application source ne peut pas obtenir plus d’un millier de jetons de partage. Toutefois, une fois qu’un jeton a été utilisé, supprimé ou expire, il n’est plus comptabilisé dans le quota de l’application source.

Les fichiers réseau ne sont pas pris en charge avec cette classe.

Méthodes

AddFile(IStorageFile)

Obtient le jeton de partage qui permet à une application de partager le fichier spécifié avec une autre application.

RedeemTokenForFileAsync(String)

Obtient un fichier partagé par une autre application en fournissant le jeton de partage reçu de l’application source.

RemoveFile(String)

Révoque un jeton de partage existant.

S’applique à