Öffnen Sie eine externe Anwendung von der Universal Windows App

8

Ich muss eine externe Anwendung (Cisco Jabber Video für Telepresence) öffnen, wenn ein Benutzer die Option "Videoanruf" in meiner App auswählt.

Ich habe festgestellt, dass es nicht möglich ist, den Speicherort der ausführbaren Datei in einer universellen App zu öffnen ...

Ich habe auch festgestellt, dass ich eine Anwendung nicht öffnen kann, wenn sie keinem URI-Schema zugeordnet ist ...

Gibt es eine Möglichkeit, das zu tun?

    
vrwim 01.09.2015, 11:47
quelle

1 Antwort

8

Dank Microsoft MVA wurden uns einige Optionen präsentiert (Sie müssen sie nur austesten):

Lösung 1 (empfohlen von this Microsoft MVA-Lernprogramm ):
Wenn Sie eine bestimmte Anwendung starten möchten, müssen Sie eine URI-Schemaregistrierung erstellen, die nur von der bestimmten Anwendung, die Sie starten möchten, ausgeführt werden kann. Mit Launcher können Sie einen angegebenen URI aufrufen, der nur von einer Anwendung verarbeitet wird (z. B. my-cool-uri-scheme://start?param1=123&param2=ABC ).

Hinweis: Der Benutzer hat immer die endgültige Auswahl, welche App mit einem bestimmten URI starten soll (deshalb wird diese Lösung von Microsoft empfohlen).

Die folgenden Lösungen werden höchstwahrscheinlich nur in Unternehmensumgebungen funktionieren!

Lösung 2 ( clean Problemumgehung):
Sie müssen eine Proxy-Windows-Anwendung schreiben.
Diese Proxy-Anwendung (fast wie in Lösung # 1) registriert sich selbst mit einer bestimmten Dateierweiterung.
Von Ihrer UWP-App aus rufen Sie dann einen imaginären Dateipfad auf, der Ihre Parameter enthält (z. B. C:/Users/CURRENTUSER/AppData/Roaming/YOURAPP/PARAM1/PARAM2/PARAM3/open.my-cool-extension ) - oder geben Sie die Datei selbst an, die die Parameter enthält (z. B. XML oder RESTful).
Die Handlingsanwendung wird dann diese Informationen verwenden, um eine bestimmte Anwendung (mit Process.Start ) mit Ihren gegebenen Parametern zu starten.

Lösung 3 ( schmutzige Problemumgehung):
Sie müssen eine beobachtende Windows-Anwendung schreiben. Diese Anwendung erstellt ein FileSystemWatcher Anhören ein bestimmter Ordner. Warum ist das die dreckige Problemumgehung? Weil du ...

  1. Sie müssen ein FileSystemWatcher erstellen, das permanent ein bestimmtes Verzeichnis für Ihre UWP-App überwacht.
  2. Der Benutzer hat keine Kontrolle darüber, was passieren wird (keine Möglichkeit, die zu startende Anwendung zu überschreiben)
Herdo 01.09.2015, 13:38
quelle

Tags und Links