Condividi tramite


Come gestire l'attivazione di URI (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

Un'app può registrarsi come gestore predefinito di un determinato nome di schema URI (Uniform Resource Identifier). È possibile registrare sia app desktop sia app di Windows Runtime come gestore predefinito per un nome di schema URI. L'app scelta dall'utente come gestore predefinito per un nome di schema URI verrà attivata ogni volta che viene avviato questo tipo di URI.

Consigliamo di eseguire la registrazione per un nome di schema URI solo se prevedi di gestire tutti gli avvii di quel tipo di schema URI. Se scegli di eseguire la registrazione per un nome di schema URI, devi fornire all'utente finale la funzionalità prevista quando l'app viene attivata per quello schema URI. Ad esempio, un'app registrata per il nome di schema URI mailto: dovrebbe visualizzare un nuovo messaggio email all'apertura, in modo che l'utente possa comporre una nuova email. Per altre info sulle associazioni di URI, vedi Linee guida ed elenco di controllo per tipi di file e URI.

Questi passaggi illustrano come eseguire la registrazione per un nome di schema URI personalizzato, alsdk:// e come attivare la tua app quando l'utente avvia un URI alsdk://.

Nota  

Nelle app di Windows Phone Store, certi URI ed estensioni di file sono riservati per l'uso nelle app predefinite e nel sistema operativo. Eventuali tentativi di registrare la tua app con URI o estensioni di file riservati verranno ignorati. Per altre informazioni, vedi l'elenco in questa pagina.

Istruzioni

Passaggio 1: Specificare il punto di estensione nel manifesto del pacchetto

L'app riceve solo gli eventi di attivazione per i nomi di schema URI elencati nel manifesto del pacchetto. Ecco come indicare che la tua app gestisce il nome di schema URI alsdk.

  1. Fai doppio clic per aprire package.appxmanifest in Esplora soluzioni.

    Ecco una breve descrizione di tutti i campi che puoi compilare nel manifesto del pacchetto:

    Campo Descrizione

    Nome

    Scegli un nome per un gruppo di tipi di file che condividono il nome visualizzato, il logo, le informazioni descrizione e i flag di modifica. Scegli un nome di gruppo che possa essere mantenuto in eventuali aggiornamenti dell'app.

    Nota  Il nome deve essere tutto in lettere minuscole.
     

    Tipi di file riservati e vietati

    Ecco gli elenchi alfabetici degli schermi URI che non puoi registrare per la tua app perché sono riservati o vietati:

    Nota  

    Per le app di Windows Store

    application.manifest, application.reference, batfile, blob, cerfile, chm.file, cmdfile, comfile, cplfile, dllfile, drvfile, exefile, explorer.assocactionid.burnselection, explorer.assocactionid.closesession, explorer.assocactionid.erasedisc, explorer.assocactionid.zipselection, explorer.assocprotocol.search-ms, explorer.burnselection, explorer.closesession, explorer.erasedisc, explorer.zipselection, file, fonfile, hlpfile, htafile, inffile , insfile, internetshortcut, jsefile, lnkfile, microsoft.powershellscript.1, ms-accountpictureprovider, ms-appdata, ms-appx, ms-autoplay, msi.package, msi.patch, ms-windows-store, ocxfile, piffile, regfile, scrfile, scriptletfile, shbfile, shcmdfile, shsfile,smb, sysfile, ttffile,unknown, usertileprovider,vbefile,vbsfile, windows.gadget,wsffile, wsfile,wshfile

    Nota  

    Per le app di Windows Phone Store

    Windows Phone riserva gli schermi URI seguenti alle app predefinite.

    bing, callto, dtmf, http, https, mailto, maps, ms-excel, ms-powerpoint, ms-settings-airplanemode, ms-settings-bluetooth, ms-settings-cellular, ms-settings-emailandaccounts, ms-settings-location, ms-settings-lock, ms-settings-wifi, ms-word, office, onenote, tel, wallet, xbls, zune

    Windows Phone riserva gli schermi URI seguenti al sistema operativo.

    Explorer.AssocActionId.BurnSelection, Explorer.AssocActionId.CloseSession, Explorer.AssocActionId.EraseDisc, Explorer.AssocActionId.ZipSelection, Explorer.AssocProtocol.search-ms, Explorer.BurnSelection, Explorer.CloseSession, Explorer.EraseDisc, Explorer.ZipSelection, File, Iehistory, Ierss, Javascript, Jscript, LDAP, Res, rlogin, StickyNotes, telnet, tn3270, Vbscript, windowsmediacenterapp, windowsmediacenterssl, windowsmediacenterweb, WMP11.AssocProtocol.MMS

    Nome visualizzato

    Specifica il nome visualizzato usato per identificare il nome di schema URI nella finestra Imposta programmi predefiniti nel Pannello di controllo.

    Logo

    Specifica il logo usato per identificare il nome di schema URI nella finestra Imposta programmi predefiniti nel Pannello di controllo. Se non viene specificato alcun logo, viene usato il logo piccolo dell'app.

    Visualizzazione desiderata (solo Windows)

    Utilizza il campo Desired View per specificare la quantità di spazio necessaria alla finestra dell'app quando viene avviata per il nome dello schema URI. I valori possibili per Desired View sono Default, UseLess, UseHalf, UseMore e UseMinimum.

    Nota  Windows tiene conto di tanti fattori diversi nel determinare le dimensioni finali della finestra dell'app di destinazione, ad esempio la preferenza dell'app di origine, il numero di app presenti sullo schermo, l'orientamento dello schermo, ecc.. L'impostazione della Visualizzazione desiderata non garantisce uno specifico comportamento di gestione delle finestre per l'app di destinazione.
     

    Windows 8.1:  L'attributo Desired View è supportato a partire da Windows 8.1 e Windows Server 2012 R2.

    Windows Phone:  L'attributo Desired View non è supportato per Windows Phone.

     

  2. Seleziona la scheda Dichiarazioni.

  3. Seleziona Protocollo nell'elenco a discesa e fai clic su Aggiungi.

  4. Immetti alsdk in Nome.

  5. Immetti "images\Icon.png" come Logo.

  6. Premi CTRL+S per salvare le modifiche a package.appxmanifest.

In questo modo si aggiunge al manifesto del pacchetto un elemento Extension come questo. La categoria windows.protocol indica che l'app gestisce il nome di schema URI alsdk.


<Package xmlns="https://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="https://schemas.microsoft.com/appx/2013/manifest">
   <Applications>
      <Application Id="AutoLaunch.App">
         <Extensions>
            <Extension Category="windows.protocol">
               <Protocol Name="alsdk"/>
               <Logo>images\logo.png</Logo>                                     
               <DisplayName>SDK Sample URI Scheme</DisplayName>
            </Extension>                      
         </Extensions>
      </Application>
   </Applications>
</Package>

Passaggio 2: Aggiungere le icone appropriate

Le icone delle app che diventano le app predefinite per un nome di schema URI vengono visualizzate in varie posizioni nel sistema, ad esempio nella finestra Programmi predefiniti nel Pannello di controllo.

Consigliamo di includere le icone corrette nel progetto in modo che il logo abbia un aspetto ottimale in tutte queste posizioni. Per un'app di Windows Store, includi nella cartella delle immagini versioni a 16/32/48/256 pixel per il logo piccolo e le dimensioni delle icone. Per un'app di Windows Phone Store, includi invece le versioni a 63/129/336 pixel. Fai in modo che l'aspetto del logo del riquadro dell'app corrisponda alla tavolozza di colori definita e che il logo si estenda fino al bordo senza riempimento. Verifica le icone su sfondi bianchi. Per alcuni esempi di icone, vedi l'esempio di avvio di associazione (Windows).

Esplora soluzioni con una visualizzazione dei file nella cartella immagini. Sono versioni a 16, 32, 48 e 256 pixel di Icon.targetsize e smallTile-sdk.

Passaggio 3: Eseguire la registrazione all'evento attivato

Esegui la registrazione all'evento activated per gestire l'attivazione di URI.

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

Passaggio 4: Gestire l'evento attivato

Il gestore di eventi activated registrato nel passaggio 1 riceve tutti gli eventi di attivazione. La proprietà kind indica il tipo di evento di attivazione. Questo esempio è impostato per gestire eventi di attivazione protocol.

function onActivatedHandler(eventArgs) {
   if (eventArgs.detail.kind == Windows.ApplicationModel.Activation.ActivationKind.protocol) 
   {
       // TODO: Handle URI activation.

       // The received URI is eventArgs.detail.uri.rawUri
   }
}

Osservazioni

Qualsiasi app o sito Web, inclusi quelli dannosi, può usare il nome di schema URI. Pertanto, qualsiasi dato ricevuto tramite un URI potrebbe provenire da una fonte non sicura. Consigliamo di evitare sempre di eseguire un'azione permanente basandoti sui parametri ricevuti nell'URI. Ad esempio, è possibile usare i parametri URI per avviare l'app nella pagina dell'account di un utente, ma consigliamo di non usarli mai per modificare direttamente l'account dell'utente.

Nota  Se devi creare uno o più nuovi nomi di schema URI per la tua app, segui le indicazioni della RFC 4395, per essere sicuro che i nomi rispettino gli standard degli schemi URI.

 

Nota  

Se avviate tramite il contratto protocollo, le app di Windows Phone Store dovrebbero assicurarsi che il pulsante Indietro riporti l'utente alla schermata da cui è stata avviata l'app e non al contenuto precedente dell'app.

È consigliabile che le app creino un nuovo frame XAML per ogni evento di attivazione che apre una nuova destinazione URI. In questo modo, il backstack di navigazione per il nuovo frame XAML non conterrà l'eventuale contenuto precedente presente nella finestra corrente dell'app al momento della sospensione.

Le app che decidono di usare un singolo frame XAML per i contratti di avvio e protocollo dovrebbero cancellare le pagine nel journal di navigazione del frame prima di passare a una nuova pagina. Nel caso di app avviate tramite il contratto protocollo, dovresti prendere in considerazione l'aggiunta di un'interfaccia utente che consenta all'utente di tornare all'inizio dell'app.

Esempio completo

Vedi l'esempio di avvio di associazione (Windows).

Argomenti correlati

Concetti

Programmi predefiniti

Modello di associazioni URI e tipo di file

Guida di riferimento dettagliata sulla compatibilità di Windows 8 Release Preview e Windows Server 2012 RC (informazioni sul modello utente)

Attività

Come avviare l'app predefinita per un URI

Come gestire l'attivazione di file

Linee guida

Linee guida ed elenco di controllo per tipi di file e URI

Riferimento

Windows.UI.WebUI.WebUIProtocolActivatedEventArgs

WinJS.Application.onactivated