SharedStorageAccessManager Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |