Language: JavaScript and HTML | VB/C#/C++ and XAML
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

So wird's gemacht: Starten der Standard-App für einen URI (Windows Store-Apps mit JavaScript und HTML)

Hier erfahren Sie, wie Sie die Standard-App für einen URI starten. URIs ermöglichen den Start einer anderen App des Systems, um eine bestimmte Aufgabe auszuführen. Wenn Sie z. B. dem Benutzer die Möglichkeit geben möchten, in Ihrer App eine E-Mail an einen Kontakt zu schreiben, können Sie die Standard-E-Mail-App des Benutzers über den URI "mailto:" starten.

In den folgenden Schritten erfahren Sie, wie Sie den Standardhandler für einen URI mithilfe der Windows.System.Launcher-API starten.

Anweisungen

Schritt 1: Erstellen des URI

Erstellen Sie ein Windows.Foundation.Uri-Objekt für den zu startenden URI. Dieser URI verwendet den Schemanamen "HTTP".



// The URI to launch
var uriToLaunch = "http://www.bing.com";

// Create a Uri object from a URI string 
var uri = new Windows.Foundation.Uri(uriToLaunch);

Schritt 2: Starten des URI

Windows stellt mehrere verschiedene Optionen zum Starten des Standardhandlers für einen URI bereit. Diese werden in dem folgenden Diagramm und in den folgenden Abschnitten beschrieben.

OptionMethodeBeschreibung
StandardstartLaunchUriAsync(Uri)Starten Sie den angegebenen URI mit dem Standardhandler.
Start mit WarndialogfeldLaunchUriAsync (Uri, LauncherOptions)Windows zeigt vor dem Start des angegebenen URI einen Warndialog an.
Start mit einem empfohlenen App-FallbackLaunchUriAsync (Uri, LauncherOptions)Starten Sie den angegebenen URI mit dem Standardhandler. Wenn kein Handler im System installiert ist, empfehlen Sie dem Benutzer eine App im Windows Store.

 

In diesen Beispielen wird die Windows.System.Launcher.launchUriAsync-Methode zum Starten des URI verwendet. Dies ist eine überladene Methode.

Default launch

Rufen Sie launchUriAsync(Uri) auf, um den in Schritt 1 erstellten URI mit der Standard-App für den HTTP-URI zu starten.


// Launch the URI
Windows.System.Launcher.launchUriAsync(uri).then(   
   function (success) {
      if (success) {
        // URI launched
      } else {
        // URI launch failed
      }
   });

Launch with a warning dialog

Rufen Sie launchUriAsync(Uri, LauncherOptions) auf, um den in Schritt 1 erstellten URI mit einer Warnung zu starten. Die treatAsUntrusted-Eigenschaft gibt an, dass das System eine Warnung anzeigen sollte.

Ein überlagernder Warndialog in der App auf grauem Hintergrund. Im Dialogfeld wird der Benutzer gefragt, ob die App gewechselt werden soll. Es sind die Schaltflächen "Ja" und "Nein" vorhanden. Die Schaltfläche "Nein" ist hervorgehoben.

// Launch the URI with a warning prompt
var options = new Windows.System.LauncherOptions();
options.treatAsUntrusted = true;

Windows.System.Launcher.launchUriAsync(uri, options).then(
   function (success) {
      if (success) {
        // URI launched
      } else {
        // URI launch failed
      }
   });

Launch with a recommended app fallback

Es kann jedoch sein, dass der Benutzer nicht über die erforderliche App zum Bearbeiten des aufgerufenen URI verfügt. In diesen Fällen bietet Windows standardmäßig einen Link an, mit dessen Hilfe Benutzer im Store nach einer geeigneten App suchen können. Wenn Sie dem Benutzer eine bestimmte App für dieses spezifische Szenario empfehlen möchten, können Sie die Empfehlung zusammen mit dem URI weitergeben, der gestartet wird. Rufen Sie dazu die Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) -Methode auf, wobei LauncherOptions.preferredApplicationPackageFamilyName auf den Namen der Paketfamilie der empfohlenen App im Store festgelegt ist. Legen Sie anschließend LauncherOptions.preferredApplicationDisplayName auf den Namen dieser App fest. Diese Informationen werden von Windows verwendet, um die allgemeine Option zum Suchen einer App im Store durch die spezifische Option zum Verwenden der empfohlenen App im Store zu ersetzen.

Hinweis  Wenn Sie eine App empfehlen möchten, müssen Sie beide Optionen festlegen. Eine Festlegung der einen ohne die andere führt zu einem Fehler.

Das Dialogfeld "Öffnen mit" für den Start eines "contoso"-URI. Da auf dem Computer kein Handler für "contoso" installiert ist, enthält das Dialogfeld eine Option mit dem Store-Symbol und Text, der den Benutzer auf den richtigen Handler im Store verweist. Das Dialogfeld enthält auch einen Link "Weitere Optionen".

// Set the recommended app.
var options = new Windows.System.LauncherOptions();
options.preferredApplicationPackageFamilyName = "Contoso.URIApp_8wknc82po1e";
options.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
Windows.System.Launcher.launchUriAsync(uri, options).then(
   function (success) {
      if (success) {
        // Uri launched
      } else {
        // Uri launch failed
      }
   });


Anmerkungen

Die gestartete App kann nicht von Ihrer App ausgewählt werden. Der Benutzer entscheidet, welche App gestartet wird. Der Benutzer kann eine Windows Store-App oder eine Desktop-App auswählen.

Beim Starten eines URI durch Ihre App muss diese im Vordergrund ausgeführt werden, d. h., die App muss für den Benutzer sichtbar sein. Mithilfe dieser Anforderung wird sichergestellt, dass der Benutzer zu jedem Zeitpunkt die Kontrolle behält. Verknüpfen Sie alle URI-Startvorgänge direkt mit der Benutzeroberfläche Ihrer App, um sicherzustellen, dass diese Anforderung erfüllt wird. Benutzer sollten nach Möglichkeit immer eine Aktion ausführen müssen, bevor ein URI gestartet werden kann. Wenn Sie versuchen, einen URI zu starten, und Ihre App befindet sich nicht im Vordergrund, ist der Start fehlerhaft und Ihr Fehlerrückruf wird aufgerufen.

Sie müssen die privateNetworkClientServer-Funktion angeben, um Intranet-URIs aufrufen zu können, z. B. einen "file:///"-URI, der auf eine Netzwerkadresse verweist.

Diese Methode kann nicht zum Ausführen eines URI in der lokalen Zone verwendet werden. Beispielsweise können Apps nicht mithilfe des URI "file:///" auf Dateien auf dem lokalen Computer zugreifen. Stattdessen müssen Sie mit Storage APIs auf die Dateien zugreifen. Wenn Sie versuchen, einen Intranet-URI ohne die richtige Funktion oder einen URI für die lokale Zone zu starten, ist der Start fehlerhaft und Ihr Fehlerrückruf wird aufgerufen.

Vollständiges Beispiel

Siehe Beispiel für Assoziationsstart.

Verwandte Themen

Aufgaben
So wird's gemacht: Behandeln der Protokollaktivierung
So wird's gemacht: Starten der Standard-App für eine Datei
Richtlinien
Richtlinien und Prüflisten für Dateitypen und URIs
Referenz
Windows.System.Launcher.launchUriAsync

 

 

© 2013 Microsoft. Alle Rechte vorbehalten.