Condividi tramite


Avviare l'app di Windows predefinita per un URI

Informazioni su come avviare l'app predefinita per un URI (Uniform Resource Identifier). Gli URI consentono di avviare un'altra app per eseguire un'attività specifica. Questo argomento offre anche una panoramica dei numerosi schemi URI incorporati in Windows. È anche possibile avviare URI personalizzati. Per altre informazioni sulla registrazione di uno schema URI personalizzato e sulla gestione dell'attivazione URI, vedere Gestire l'attivazione URI.

Gli schemi URI consentono di aprire le app facendo clic sui collegamenti ipertestuali. Proprio come è possibile avviare un nuovo messaggio di posta elettronica usando mailto:, è possibile aprire il Web browser predefinito usando http: o https:.

In questo argomento vengono descritti gli schemi URI seguenti incorporati in Windows:

Schema URI Lanciamenti
bingmaps:, ms-drive-to:, e ms-walk-to: App Mappe
http: e https: Web browser predefinito
mailto: App di posta elettronica predefinita
microsoft-edge: Browser Microsoft Edge
ms-chat: App di messaggistica
ms-people: App Persone
ms-photos: L'app Foto
ms-recall: Fare clic per eseguire (parte di Richiamo)
ms-settings: App Impostazioni
ms-store: App dello Store
msnweather: App Meteo

Ad esempio, l'URI seguente apre il browser predefinito e visualizza il sito Web Microsoft Bing: https://bing.com/.

È anche possibile avviare schemi URI personalizzati. Se non è installata alcuna app per gestire l'URI, è possibile consigliare un'app per l'installazione dell'utente. Per ulteriori informazioni, vedi Consiglia un'app se non è disponibile per gestire l'URI.

In generale, la tua app non può scegliere quale app avviare. L'utente determina quale app viene avviata. Più app possono registrarsi per gestire lo stesso schema URI. L'eccezione è per gli schemi URI riservati. Le registrazioni degli schemi URI riservati vengono ignorate. Per l'elenco completo degli schemi URI riservati, vedere Gestire l'attivazione URI. Nei casi in cui più app potrebbero aver registrato lo stesso schema URI, l'app può consigliare l'avvio di un'app specifica. Per ulteriori informazioni, consulta consiglia un'applicazione se non ce n'è una disponibile per gestire l'URI.

API importanti

In questo argomento vengono usate le API Di Windows Runtime (WinRT) seguenti:

Si noti che molte API WinRT funzioneranno con altre app desktop con l'identità del pacchetto. Esistono alcune eccezioni e la maggior parte di queste sono correlate alle API specifiche per il rendering o l'input dell'interfaccia utente. Alcuni dei LauncherOptions, ad esempio TreatAsUntrusted, funzionano solo nelle app UWP. Per altre informazioni sull'abilitazione dell'app desktop per l'uso con le API WinRT, vedere Chiamare le API di Windows Runtime nelle app desktop.

Chiamare LaunchUriAsync per avviare un URI

Usare il metodo LaunchUriAsync per avviare un URI. Quando chiami questo metodo, l'app deve essere l'app in primo piano, ovvero deve essere visibile all'utente. Questo requisito consente di garantire che l'utente rimanga in controllo. Per soddisfare questo requisito, assicurarsi di associare tutti gli avvii URI direttamente all'interfaccia utente dell'app. L'utente deve sempre eseguire un'azione per avviare un URI. In un'app UWP, se tenti di avviare un URI e la tua app non è in primo piano, l'avvio avrà esito negativo e verrà richiamata la callback di errore.

Creare prima di tutto un oggetto System.Uri per rappresentare l'URI, quindi passarlo al metodo LaunchUriAsync. Usare il risultato restituito per verificare se la chiamata ha avuto esito positivo, come illustrato nell'esempio seguente.

private async void launchURI_Click(object sender, RoutedEventArgs e)
{
   // The URI to launch
   var bingUri = new Uri(@"https://www.bing.com");

   // Launch the URI
   var success = await Windows.System.Launcher.LaunchUriAsync(bingUri);

   if (success)
   {
      // URI launched
   }
   else
   {
      // URI launch failed
   }
}

In alcuni casi, il sistema operativo chiederà all'utente di verificare se vuole effettivamente cambiare app.

Screenshot di una finestra di dialogo di avviso sovrapposta a uno sfondo in grigio dell'app. La finestra di dialogo chiede all'utente se vuole cambiare app e ha pulsanti 'sì' e 'no' in basso a destra. Il pulsante 'no' è evidenziato.

Importante

Questa richiesta è supportata solo dalle app UWP. Se Windows tenta di visualizzare questa richiesta per un'app desktop, l'avvio avrà esito negativo.

Se l'app è un'app UWP e vuoi che venga sempre visualizzata questa richiesta, usa la proprietà Windows.System.LauncherOptions.TreatAsUntrusted per indicare al sistema operativo di visualizzare un avviso.

// The URI to launch
var uriBing = new Uri(@"http://www.bing.com");

// Set the option to show a warning
var promptOptions = new Windows.System.LauncherOptions
{
   TreatAsUntrusted = true
};

// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriBing, promptOptions);

Consiglia un'app se non è disponibile per gestire l'URI

In alcuni casi, l'utente potrebbe non avere un'app installata per gestire l'URI che si sta avviando. Per impostazione predefinita, il sistema operativo gestisce questi casi fornendo all'utente un collegamento per cercare un'app appropriata nello Store. Se si vuole fornire all'utente una raccomandazione specifica per l'app da acquisire in questo scenario, è possibile farlo passando tale raccomandazione insieme all'URI che si sta avviando.

Le raccomandazioni sono utili anche quando più app sono state registrate per gestire uno schema URI. Consigliando un'app specifica, Windows aprirà l'app se è già installata.

Per fare una raccomandazione, chiamare il metodo Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) con LauncherOptions.preferredApplicationPackageFamilyName impostato sul nome della famiglia di pacchetti dell'app nello Store che si vuole consigliare. Il sistema operativo usa queste informazioni per sostituire l'opzione generale per cercare un'app nello Store con un'opzione specifica per acquisire l'app consigliata dallo Store.

// Set the recommended app
var options = new Windows.System.LauncherOptions
{
    PreferredApplicationPackageFamilyName = "Contoso.URIApp_8wknc82po1e",
    PreferredApplicationDisplayName = "Contoso URI App"
};

// Launch the URI and pass in the recommended app
// in case the user has no apps installed to handle the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);

Impostare le preferenze di visualizzazione rimanenti

Importante

Questa funzionalità è disponibile solo nelle app UWP. Se usata in un'app desktop, la proprietà verrà ignorata.

Le applicazioni di origine che chiamano "LaunchUriAsync" possono richiedere di rimanere visibili sullo schermo dopo l'avvio di un URI. Per impostazione predefinita, Windows tenta di condividere tutti gli spazi disponibili in modo uniforme tra l'app di origine e l'app di destinazione che gestisce l'URI. Le app di origine possono usare la proprietà DesiredRemainingView per indicare al sistema operativo che preferisce che la finestra dell'app assuma più o meno spazio disponibile. DesiredRemainingView può anche essere usato per indicare che l'app di origine non deve rimanere sullo schermo dopo l'avvio dell'URI e può essere completamente sostituita dall'app di destinazione. Questa proprietà specifica solo le dimensioni della finestra preferite dell'app chiamante. Non specifica il comportamento di altre app che possono verificarsi sullo schermo contemporaneamente.

Nota

 Windows tiene conto di più fattori diversi quando determina le dimensioni finali della finestra dell'app di origine, ad esempio la preferenza dell'app di origine, il numero di app sullo schermo, l'orientamento dello schermo e così via. Impostando DesiredRemainingView, non è garantito un comportamento di finestra specifico per l'app di origine.

// Set the desired remaining view.
var options = new Windows.System.LauncherOptions
{
    DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseLess
};

// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);

Schemi URI

I vari schemi URI sono descritti in questa sezione.

Schema URI di posta elettronica

Usare il mailto: schema URI per avviare l'app di posta predefinita.

Schema URI Risultati
mailto: Avvia l'app di posta elettronica predefinita.
mailto:\[email address\] Avvia l'app di posta elettronica e crea un nuovo messaggio con l'indirizzo di posta elettronica specificato nel campo A. Si noti che il messaggio di posta elettronica non viene inviato finché l'utente non tocca l'invio.

Schema HTTP URI

Usare lo schema http : URI per avviare il Web browser predefinito.

Schema URI Risultati
http: o https: Avvia il Web browser predefinito.

Schemi URI dell'app Mappe

Usare gli schemi URI bingmaps:, ms-drive-to:e ms-walk-to: per avviare l'app Mappe di Windows verso mappe, indicazioni stradali e risultati della ricerca specifici. Ad esempio, l'URI seguente apre l'app Mappe di Windows e visualizza una mappa centrata su New York City.

bingmaps:?cp=40.726966~-74.006076

Screenshot dell'app Mappe di Windows.

Per ulteriori informazioni, consulta Avvia l'app Mappe di Windows. Per usare il controllo mappa nella tua app UWP, vedi Visualizzare mappe con visualizzazioni 2D, 3D e Streetside. Se usi Windows App SDK 1.5 o versione successiva in un'app WinUI o in un'altra app desktop, puoi usare MapControl.

Schema URI dell'app di messaggistica

Usare lo schema URI ms-chat: per avviare l'app di messaggistica Microsoft.

Schema URI Risultati
ms-chat: Avvia l'app di messaggistica.
ms-chat:?ContactID={contacted} Consente l'avvio dell'applicazione di messaggistica con le informazioni di un contatto specifico.
ms-chat:?Body={body} Consente l'avvio dell'applicazione di messaggistica con una stringa da usare come contenuto del messaggio.
ms-chat:?Addresses={address}&Body={body} Consente l'avvio dell'applicazione di messaggistica con le informazioni di un determinato indirizzo e con una stringa da usare come contenuto del messaggio. Nota: gli indirizzi possono essere concatenati.
ms-chat:?TransportId={transportId} Consente l'avvio dell'applicazione di messaggistica con un ID di trasporto specifico.

Schema URI dell'app People

Usare lo schema URI ms-people: per avviare l'app People. Per altre info, vedi Avviare l'app People.

Importante

L'app Contatti passa al nuovo Outlook. È possibile prendere i contatti con te selezionando Esporta contatti sulla barra degli strumenti dell'app Contatti e quindi importandoli nel nuovo Outlook. Per altre informazioni, vedere Gestire i contatti e connettersi alle persone tramite il nuovo outlook per Windows (anteprima).

Schema URI dell'app Foto

Usa il ms-photos: schema URI per avviare l'app Foto per visualizzare un'immagine o modificare un video. Per esempio:

Operazione URI
Visualizzare un'immagine ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
Modificare un video ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03

Nota

Se avvii l'app Foto da un'app UWP, gli URI per modificare un video o visualizzare un'immagine sono disponibili solo sul desktop.

Nella tabella seguente sono elencati gli schemi URI supportati aggiuntivi per l'app Foto:

Schema URI Risultati
ms-photos:viewer?fileName={filename} Avvia l'applicazione Foto per aprire e visualizzare l'immagine specificata in cui {filename} è un nome di percorso completo. Ad esempio: c:\users\userName\Pictures\ImageToView.jpg
ms-photos:videoedit?InputToken={input token} Avvia l'app Foto in modalità di modifica video per il file rappresentato dal token di file. è necessario InputToken. Usare il sharedStorageAccessManager per ottenere un token per un file.
ms-photos:videoedit?Action={action} Parametro che indica la modalità di modifica video in cui aprire l'app Foto, in cui {action} è uno di: SlowMotion, FrameExtraction, Trim, View, Ink. È richiesta l' azione.
ms-photos:videoedit?StartTime={timespan} Parametro facoltativo che specifica dove iniziare a riprodurre il video. {timespan} deve essere nel formato "hh:mm:ss.ffff". Se non specificato, per impostazione predefinita viene 00:00:00.0000

Schema URI dell'app Impostazioni

Usare lo schema URI ms-settings: per avviare l'app Impostazioni di Windows. Avviare l'app Impostazioni è una parte importante della scrittura di un'app attenta alla privacy. Se l'app non riesce ad accedere a una risorsa sensibile, è consigliabile fornire all'utente un collegamento pratico alle impostazioni di privacy per tale risorsa.

Ad esempio, l'URI seguente apre l'app Impostazioni e visualizza le impostazioni di privacy della fotocamera:

ms-settings:privacy-webcam

Screenshot delle impostazioni di privacy della fotocamera di Windows.

Per altre info, vedi Avviare l'app Impostazioni di Windows e Sicurezza e identità.

Schema URI dell'app Store

Usare lo schema ms-windows-store: URI per avviare l'app di Microsoft Store. Aprire le pagine dei dettagli del prodotto, le pagine di revisione del prodotto e le pagine di ricerca e così via. Ad esempio, l'URI seguente apre l'app Microsoft Store e avvia la home page dello Store.

ms-windows-store://home/

Per ulteriori informazioni, vedere Utilizzo degli URI ms-windows-store.

Schema URI dell'app meteo

Usare lo schema URI msnweather: per avviare l'app Weather.

Schema URI Risultati
msnweather://forecast?la=\[latitude\]&lo=\[longitude\] Avvia l'app Meteo nella pagina Previsione in base alle coordinate geografiche della posizione.
latitude fa riferimento alla latitudine della posizione.
longitude fa riferimento alla longitudine della posizione.

Schema URI di Microsoft Edge

Usare il microsoft-edge: schema URI per avviare il browser Microsoft Edge in un URL specificato.

Schema URI Risultati
microsoft-edge:https://example.com/ Apre il browser Microsoft Edge e passa a https://example.com/

È possibile usare questo schema URI per avviare il browser Microsoft Edge, indipendentemente dall'impostazione predefinita del browser dell'utente.

Gestire l'attivazione URI

Aprire l'app Impostazioni