Language: HTML | XAML

So wird’s gemacht: Behandeln der URI-Aktivierung (HTML)

Applies to Windows and Windows Phone

Eine App kann als Standardhandler für einen bestimmten URI (Uniform Resource Identifier)-Schemanamen registriert werden. Sowohl Desktop-Apps als auch Windows Store-Apps können als Standardhandler für einen URI-Schemanamen registriert werden. Wenn Ihre App vom Benutzer als Standardhandler für einen URI-Schemanamen ausgewählt wird, wird sie immer dann aktiviert, wenn dieser URI-Typ gestartet wird.

Wir empfehlen, die Registrierung für einen URI-Schemanamen nur durchzuführen, wenn davon auszugehen ist, dass Sie alle entsprechenden Vorgänge für diesen URI-Schematyp behandeln werden. Wenn Sie sich entscheiden, die Registrierung für einen bestimmten URI-Schemanamen durchzuführen, müssen Sie die entsprechenden Funktionen bereitstellen, die vom Benutzer bei der Aktivierung für dieses URI-Schemas erwartet werden. Beispielsweise sollte eine App, die für den URI-Schemanamen "mailto:" registriert wird, eine neue E-Mail-Nachricht öffnen, damit Benutzer eine neue E-Mail erstellen können. Weitere Informationen zu URI-Zuordnungen finden Sie unter Richtlinien und Prüflisten für Dateitypen und URIs.

Die folgenden Schritte zeigen, wie Sie den benutzerdefinierten Schemanamen ".alsdk://" registrieren und Ihre App aktivieren, wenn der Benutzer einen URI vom Typ ".alsdk://" startet.

  • Applies to Windows Phone

Hinweis  

In Windows Phone 8.1 sind bestimmte URIs und Dateierweiterungen für die Verwendung durch integrierte Apps und durch das Betriebssystem reserviert. Versuche, die App mit einem reservierten URI oder einer reservierten Dateierweiterung zu registrieren, werden ignoriert. Weitere Informationen finden Sie unter Reservierte Datei- und URI-Zuordnungen.

Anweisungen

Schritt 1: Angeben des Erweiterungspunkts im Paketmanifest

Die App empfängt nur für die im Paketmanifest angegebenen URI-Schemanamen Aktivierungsereignisse. Im Folgenden wird beschrieben, wie Sie festlegen, dass die App den URI-Schemanamen alsdk behandelt.

  1. Doppelklicken Sie im Projektmappen-Explorer auf die Datei package.appxmanifest, um sie zu öffnen.

    Es folgt eine kurze Beschreibung der Felder, die sie im Paketmanifest ausfüllen können:

    FeldBeschreibung

    Name

    Wählen Sie einen Namen für eine Gruppe von Dateitypen aus, die identische Anzeigenamen, Logos, Infotipps und Bearbeitungsflags verwenden. Wählen Sie einen Gruppennamen aus, der auch nach App-Updates unverändert bleiben kann.

    Hinweis  Der Name darf nur aus Kleinbuchstaben bestehen.

    Reservierte und verbotene Dateitypen

    Es folgen alphabetisch sortierte Listen mit URI-Schemanamen, die Sie nicht für Ihre App registrieren können, weil sie reserviert oder unzulässig sind:

    • Applies to Windows

    Für Windows Store-Apps

    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

    • Applies to Windows Phone

    Für Windows Phone Store-Apps

    Windows Phone reserviert die folgenden URI-Schemas für integrierte Apps.

    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 reserviert die folgenden URI-Schemas für das Betriebssystem.

    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

    Anzeigename

    Geben Sie den Anzeigenamen zur Identifikation des URI-Schemanamens in der Systemsteuerung unter Standardprogramme festlegen an.

    Logo

    Geben Sie das Logo zur Identifikation des URI-Schemanamens in der Systemsteuerung unter Standardprogramme festlegen an. Wenn kein Logo angegeben wird, wird das kleine Logo für die App verwendet.

    Gewünschte Ansicht (nur Windows)

    Verwenden Sie das Feld Desired View, um anzugeben, wie viel Platz für das Fenster der App benötigt wird, wenn sie für den URI-Schemanamen gestartet wird. Die möglichen Werte für Desired View sind Default, UseLess, UseHalf, UseMore oder UseMinimum.

    Hinweis  Windows bestimmt die endgültige Fenstergröße einer Ziel-App anhand zahlreicher Faktoren (z. B. die Einstellung der Quell-App, die Anzahl der Apps auf dem Bildschirm, die Bildschirmausrichtung, uvm.). Das Festlegen von Gewünschte Ansicht ist keine Garantie, dass das Fenster für die Ziel-App auch wirklich so angezeigt wird.

    Windows 8.1:  Desired View wird erst ab Windows 8.1 und Windows Server 2012 R2 unterstützt.

    Windows Phone:  Desired View wird nicht für Windows Phone unterstützt.

     

  2. Klicken Sie auf die Registerkarte Deklarationen.
  3. Wählen Sie in der Dropdownliste Protokoll aus, und klicken Sie auf Hinzufügen.
  4. Geben Sie alsdk in das Feld Name ein.
  5. Geben Sie als Logo "images\Icon.png" ein.
  6. Drücken Sie STRG+S, um die an package.appxmanifest vorgenommenen Änderungen zu speichern.

Dadurch wird dem Paketmanifest ein Extension-Element wie das unten dargestellte hinzugefügt. Die windows.protocol-Kategorie gibt an, dass die App den URI-Schemanamen alsdk behandelt.



<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://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>

Schritt 2: Hinzufügen der geeigneten Symbole

Die Symbole von Apps, die für einen URI-Schemanamen zum Standard werden, werden an verschiedenen Stellen innerhalb des Systems angezeigt, z. B. in der Systemsteuerung unter "Standardprogramme".

Wir empfehlen, die richtigen Symbole in das Projekt aufzunehmen, damit Ihr Logo gut aussieht. Fügen Sie im Bildordner kleine Logo- und Symbolgrößen von 16/32/48/256 Pixeln hinzu. Diese Symbole sollten dem Aussehen des Kachellogos entsprechen und die Farbpalette enthalten. Testen Sie Ihre Symbole auf weißem Hintergrund. Beispielsymbole finden Sie unter Beispiel für Assoziationsstart (Windows).

Der Projektmappen-Explorer mit einer Ansicht der Dateien im Bildordner. Es gibt Versionen mit 16, 32, 48 und 256 Pixeln für "Icon.targetsize" und "smallTile-sdk"

Schritt 3: Registrieren für das activated-Ereignis

Führen Sie die Registrierung für das activated-Ereignis aus, um die URI-Aktivierung zu behandeln.


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

Schritt 4: Behandeln des activated-Ereignisses

Der in Schritt 1 registrierte activated-Ereignishandler empfängt alle Aktivierungsereignisse. Die kind-Eigenschaft gibt den Typ des Aktivierungsereignisses an. In diesem Beispiel werden protocol-Aktivierungsereignisse behandelt.


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

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

Anmerkungen

Ihr URI-Schemaname kann von jeder App oder Website verwendet werden, auch von schädlichen. Alle im URI empfangenen Daten könnten daher von einer nicht vertrauenswürdigen Quelle stammen. Wir empfehlen, niemals eine endgültige Aktion auf Grundlage der Parameter auszuführen, die Sie im URI erhalten. URI-Parameter können z. B. zum Starten der App mit der Kontoseite eines Benutzers, aber nicht zum direkten Ändern des Kontos des Benutzers verwendet werden.

Hinweis  Wenn Sie für ihre App einen neuen URI-Schemanamen erstellen, ist es wichtig, dass Sie die Ratschläge in RFC 4395 befolgen. Damit wird sichergestellt, dass Ihr Name die Standards für URI-Schemas erfüllt.

  • Applies to Windows Phone

Hinweis  

Bei Windows Phone-Apps, die über einen Protokollvertrag gestartet werden, muss der Benutzer über die Zurück-Schaltfläche zu dem Bildschirm zurückkehren, von dem aus die App gestartet wurde, und nicht zum vorherigen Inhalt der App.

Apps sollten für jedes Aktivierungsereignis, durch das ein neues URI-Ziel geöffnet wird, einen neuen XAML-Frame erstellen. So enthält der Navigationsbackstack für den neuen XAML-Frame keinen vorherigen Inhalt, der beim Anhalten der App im aktuellen Fenster angezeigt wurde.

Apps, für die ein einziger XAML-Frame für Start- und Protokollverträge verwendet wird, sollten vor dem Navigieren zu einer neuen Seite die Seiten im Navigationsjournal des Frames löschen. Über den Protokollvertrag gestartete Apps sollten ggf. eine Benutzeroberfläche enthalten, über die der Benutzer zum Anfang der App zurückkehren kann.

Vollständiges Beispiel

Siehe Beispiel für Assoziationsstart (Windows).

Verwandte Themen

Konzepte
Standardprogramme
Dateityp- und URI-Zuordnungsmodell
Kompatibilitäts-Cookbook für Windows 8 Release Preview und Windows Server 2012 RC (Informationen zum Benutzermodell)
Aufgaben
So wird's gemacht: Starten der Standard-App für einen URI
So wird's gemacht: Behandeln der Dateiaktivierung
Richtlinien
Richtlinien und Prüflisten für Dateitypen und URIs
Referenz
Windows.UI.WebUI.WebUIProtocolActivatedEventArgs
WinJS.Application.onactivated

 

 

Anzeigen:
© 2014 Microsoft