Windows Dev Center

Language: HTML | XAML

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

Eine App kann als Standardhandler für einen bestimmten URI (Uniform Resource Identifier)-Schemanamen registriert werden. Sowohl Desktop-Apps als auch Windows-Runtime-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.

Hinweis  

In Windows Phone Store-Apps sind bestimmte URIs und Dateierweiterungen für die Verwendung durch vorinstallierte Apps und das Betriebssystem reserviert. Versuche, die App mit einem reservierten URI oder einer reservierten Dateierweiterung zu registrieren, werden ignoriert. Weitere Informationen finden Sie in der Liste auf dieser Seite.

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

    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.

    Anzeigename

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

    Name

    Wählen Sie einen Namen für das URI-Schema aus.

    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:

    Hinweis  

    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

    Hinweis  

    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

    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" m2:DesiredView="useLess"/>
               <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 an allen diesen Stellen gut aussieht. Fügen Sie bei Windows Store-Apps im Bildordner kleine Logo- und Symbolgrößen von 16/32/48/256 Pixeln hinzu. Bei Windows Phone Store-Apps binden Sie Versionen mit 63/129/336 Pixeln ein. Stimmen Sie das Erscheinungsbild des App-Kachel-Logos auf die angepasste Farbpalette ab und erweitern Sie das Logo bis zum Rand, ohne eine Auffüllung vorzunehmen. Testen Sie Ihre Symbole auf weißem Hintergrund. Beispielsymbole finden Sie unter Beispiel für Assoziationsstart.

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: Behandeln des activated-Ereignisses

Der OnActivated-Ereignishandler empfängt alle Aktivierungsereignisse. Die Kind-Eigenschaft gibt den Typ des Aktivierungsereignisses an. In diesem Beispiel werden Protocol-Aktivierungsereignisse behandelt.


Protected Overrides Sub OnActivated(ByVal args As Windows.ApplicationModel.Activation.IActivatedEventArgs)
   If args.Kind = ActivationKind.Protocol Then
      ProtocolActivatedEventArgs eventArgs = args As ProtocolActivatedEventArgs

      ' TODO: Handle URI activation
      ' The received URI is eventArgs.Uri.AbsoluteUri
   End If
End Sub

Hinweis  

Bei Windows Phone Store-Apps, die über einen Protokollvertrag gestartet werden, muss der Benutzer über die Schaltfläche „Zurück“ 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 eine neue Seite 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 Dateiverträge verwendet wird, sollten vor dem Navigieren zu einer neuen Seite die Seiten im Frame-Navigationsjournal löschen.

Per Protokollaktivierung gestartete Apps sollten ggf. eine Benutzeroberfläche enthalten, über die der Benutzer zur ersten Seite der App zurückkehren kann.

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.

Hinweis  

Bei Windows Phone Store-Apps, die über einen Protokollvertrag gestartet werden, muss der Benutzer über die Schaltfläche „Zurück“ 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.

Falls Ihre Apps für Start- und Protokollverträge einen einzelnen XAML-Frame verwenden sollen, müssen vor dem Navigieren zu einer neuen Seite die Seiten im Frame-Navigationsjournal gelöscht werden. Ü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.

Verwandte Themen

Konzepte
Standardprogramme
Dateityp- und URI-Zuordnungsmodell
Kompatibilitäts-Cookbook für Windows und Windows Server: Windows 8, Windows 8.1 und Windows Server 2012 (Benutzermodellinformationen)
Aufgaben
So wird's gemacht: Starten der Standard-App für einen URI
So wird's gemacht: Behandeln der Dateiaktivierung
Richtlinien
Richtlinien für Dateitypen und URIs
Referenz
Windows.ApplicationModel.Activation.ProtocolActivatedEventArgs
Windows.UI.Xaml.Application.OnActivated

 

 

Anzeigen:
© 2015 Microsoft