SharedStorageAccessManager Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente a un'app di condividere un file con un'altra app passando un token tramite attivazione URI, servizio app, API REST e così via. L'app di destinazione riscatta il token per ottenere il file condiviso dall'app di origine.
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
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
Nell'esempio seguente un'app di origine avvia un'app di mapping e fornisce un file gpx contenente le indicazioni stradali da visualizzare dall'app di destinazione.
Prima di tutto, l'app di origine ottiene un token per il file gpx e usa l'attivazione del protocollo per avviare l'app di destinazione.
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);
}
L'app di destinazione ottiene quindi il file gpx fornendo il token ricevuto dall'app di origine.
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));
}
}
Commenti
Ecco la sequenza di passaggi che consente a un'app di condividere un file con un'altra app passando un token come parte di un'attivazione URI, ad esempio.
- L'app di origine chiama il metodo AddFile per ottenere il token di condivisione passato all'app di destinazione, che viene avviata con un Uri.
- L'app di destinazione chiama il metodo RedeemTokenForFileAsync per ottenere il file condiviso.
- Facoltativamente, l'app di origine può chiamare il metodo RemoveFile per revocare un token ottenuto in precedenza chiamando il metodo AddFile . Per altre info sull'attivazione degli URI, vedi Avviare l'app predefinita per un URI.
L'uso della classe SharedStorageAccessManager e dei token di condivisione è soggetto ai requisiti e alle restrizioni seguenti.
- Un token di condivisione può essere riscattato una sola volta. Successivamente, il token non è più valido.
- Un token di condivisione scade dopo 14 giorni e non è più valido.
- L'app di origine non può ottenere più di mille token di condivisione. Una volta riscattato, rimosso o scaduto, un token non viene più conteggiato rispetto alla quota dell'app di origine.
I file di rete non sono supportati con questa classe.
Metodi
AddFile(IStorageFile) |
Ottiene il token di condivisione che consente a un'app di condividere il file specificato con un'altra app. |
RedeemTokenForFileAsync(String) |
Ottiene un file condiviso da un'altra app fornendo il token di condivisione ricevuto dall'app di origine. |
RemoveFile(String) |
Revoca un token di condivisione esistente. |