So wird’s gemacht: Behandeln der URI-Aktivierung (HTML)
[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]
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.
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:
Feld Beschreibung 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:
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
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.
Klicken Sie auf die Registerkarte Deklarationen.
Wählen Sie in der Dropdownliste Protokoll aus, und klicken Sie auf Hinzufügen.
Geben Sie
alsdk
in das Feld Name ein.Geben Sie als Logo "images\Icon.png" ein.
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="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>
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 (Windows).
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.
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.
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
Dateityp- und URI-Zuordnungsmodell
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