Le Windows Store app possono essere associate ad un URI Schema in modo che possano essere aperte da altre applicazioni, passando anche dei parametri.
Possiamo registrare uno Schema attraverso il tab Declarations del manifest.

Nella configurazione abbiamo associato lo Schema custom-app, in questo modo possiamo richiamare l'app semplicemente con un URI: custom-app://test-parameter.
Quando invochiamo questo URI, anche attraverso un browser, l'applicazione associata si avvia e scatta il metodo OnActivated dell'Application.
protected override void OnActivated(IActivatedEventArgs e) { base.OnActivated(e); if (e.Kind == ActivationKind.Protocol) { var args = e as ProtocolActivatedEventArgs; if (args != null) { var rootFrame = Window.Current.Content as Frame; rootFrame.Navigate(typeof(MainPage), args.Uri); Window.Current.Activate(); } } }
In tale metodo possiamo controllare la provenienza dell'attivazione dal parametro Kind di IActivatedEventArgs, nel caso di attivazione da URI, come possiamo vedere nello snippet, questo corrisponde a ActivationKind.Protocol.
Nella proprietà Uri di IActivatedEventArgs possiamo accedere all'indirizzo completo e recuperare i parametri usati nell'invocazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Aggiornare a .NET 9 su Azure App Service
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Potenziare la ricerca su Cosmos DB con Full Text Search
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Configurare lo startup di applicazioni server e client con .NET Aspire
Configurare e gestire sidecar container in Azure App Service
Gestire la cancellazione di una richiesta in streaming da Blazor
Triggerare una pipeline su un altro repository di Azure DevOps
Rendere le variabili read-only in una pipeline di Azure DevOps
Effettuare il refresh dei dati di una QuickGrid di Blazor