none
Andere App direkt starten RRS feed

  • Frage

  • Hi,

    ist es möglich aus einer Win8 App eine andere Win8 App zu starten evtl. mit Parameter?

    Ich habe nämlich gehört das dies nicht möglich ist. Und wenn ich mir aber die Kontakte App von Microsoft anschaue, die die Karten App starten sobald man auf "Adresse zuweisen" klickt, frage ich mich ob ich richtig informiert bin.

    Des genau dieses Feature würde ich benötigen.

    Danke.

    Eric

    • Verschoben Robert Breitenhofer Freitag, 7. September 2012 09:33 Windows Store Apps (aus:Windows Metro Style Apps)
    Dienstag, 4. September 2012 11:18

Antworten

  • Hallo Eric,

    eine Win8 App aus einer anderen Win8 direkt zu starten, ist nicht möglich.

    Content (Informationen etc.) aus einer App in einer anderen App weiterzubenutzen (z.B. das mit der Camera App aufgenommene Photo in der EMail App) geht dagegen schon. Die Vorgehensweise nennt sich Share (entsprechende Hinweise findest Du in der Dokumentation unter dem Stichwort Contracts). Aber auch hier gibt es keinen direkten Aufruf. Du bekommst von Windows 8 nur das Angebot, den Content mit einer anderen App zu bearbeiten. Als User mußt Du erst zustimmen, bevor die andere App startet.

    Schöne Grüße

    Oliver

    Dienstag, 4. September 2012 11:40
  • Hi Oliver,

    vielen Dank für deine Antwort. Diese muss ich aber mittlerweile korrigieren.

    Denn es ist möglich.

    Ein Beispiel hierfür ist die Kontakte App vom Microsoft, diese startet die Karten App auch von Microsoft um diese App die Adressen eines Kontaktes anzeigen zu lassen. Nach einigem Forschem in diesem Bereich bin ich darauf gekommen was dahinter steckt.

    Es funktioniert über Protokolle, welche man in den Standardprogramm Einstellungen im Windows findet.

    Der von mir angehängte Code beweist, dass es möglich ist.

    Es ist so möglich eine andere App zu starten (sogar mit Parameter), oder wenn sie schon laufen sollte ihr im laufenden Betrieb Parameter unterschieben auf die, diese reagieren kann.

    public async void ShowAdressinMapsApp(string adress)
            {
                Uri uri = new Uri("bingmaps://X/?where=" + adress);
    
                // Launch the URI 
                var success = await Windows.System.Launcher.LaunchUriAsync(uri);
                if (success)
                {
                    // URI launched
                }
                else
                {
                    // URI launch failed 
                }
            }

    Der Code kann eine Übergebene Adresse in der KartenApp anzeigen lassen. Dies ist sowohl aus normalen Desktopprogrammen möglich sowie aus Win8Apps.

    Mit dieser Vorgehensweise lässt sich nicht nur die KartenApp starten sondern viele andere Apps auch. Ich selbst habe dieses Feature bereits in meine App eingebaut.

    Wer mehr zu diesem Thema erfahren will kann mir persönlich schreiben.

    Schöne Grüße

    Eric

    • Als Antwort markiert Eric Weber 93 Donnerstag, 6. Dezember 2012 10:16
    Donnerstag, 6. Dezember 2012 10:14

Alle Antworten

  • Hallo Eric,

    eine Win8 App aus einer anderen Win8 direkt zu starten, ist nicht möglich.

    Content (Informationen etc.) aus einer App in einer anderen App weiterzubenutzen (z.B. das mit der Camera App aufgenommene Photo in der EMail App) geht dagegen schon. Die Vorgehensweise nennt sich Share (entsprechende Hinweise findest Du in der Dokumentation unter dem Stichwort Contracts). Aber auch hier gibt es keinen direkten Aufruf. Du bekommst von Windows 8 nur das Angebot, den Content mit einer anderen App zu bearbeiten. Als User mußt Du erst zustimmen, bevor die andere App startet.

    Schöne Grüße

    Oliver

    Dienstag, 4. September 2012 11:40
  • Hallo Eric Weber 93,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


    Robert Breitenhofer, MICROSOFT   Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 18. September 2012 09:17
  • Hi Oliver,

    vielen Dank für deine Antwort. Diese muss ich aber mittlerweile korrigieren.

    Denn es ist möglich.

    Ein Beispiel hierfür ist die Kontakte App vom Microsoft, diese startet die Karten App auch von Microsoft um diese App die Adressen eines Kontaktes anzeigen zu lassen. Nach einigem Forschem in diesem Bereich bin ich darauf gekommen was dahinter steckt.

    Es funktioniert über Protokolle, welche man in den Standardprogramm Einstellungen im Windows findet.

    Der von mir angehängte Code beweist, dass es möglich ist.

    Es ist so möglich eine andere App zu starten (sogar mit Parameter), oder wenn sie schon laufen sollte ihr im laufenden Betrieb Parameter unterschieben auf die, diese reagieren kann.

    public async void ShowAdressinMapsApp(string adress)
            {
                Uri uri = new Uri("bingmaps://X/?where=" + adress);
    
                // Launch the URI 
                var success = await Windows.System.Launcher.LaunchUriAsync(uri);
                if (success)
                {
                    // URI launched
                }
                else
                {
                    // URI launch failed 
                }
            }

    Der Code kann eine Übergebene Adresse in der KartenApp anzeigen lassen. Dies ist sowohl aus normalen Desktopprogrammen möglich sowie aus Win8Apps.

    Mit dieser Vorgehensweise lässt sich nicht nur die KartenApp starten sondern viele andere Apps auch. Ich selbst habe dieses Feature bereits in meine App eingebaut.

    Wer mehr zu diesem Thema erfahren will kann mir persönlich schreiben.

    Schöne Grüße

    Eric

    • Als Antwort markiert Eric Weber 93 Donnerstag, 6. Dezember 2012 10:16
    Donnerstag, 6. Dezember 2012 10:14
  • Hi Oliver,

    vielen Dank für deine Antwort. Diese muss ich aber mittlerweile korrigieren.

    Hallo Eric Weber93,

    Unter folgendem Beitrag: [Fragen und hilfreiche Antworten - Metro-Style Apps] steht bei [Erstellen von Metro-Style Apps mithilfe von C++]:

    Metro-Style Apps können nicht mit anderen Anwendungen auf demselben System außerhalb der vordefinierten Contracts (Verträge), z. B. Share (jede App kann Dienste anbieten [ShareBroker/ DataTransferManager]), kommunizieren (der Begriff "Contract" wird allgemein ein Vertrag zwischen einem Anbieter (Server) und Nutzer (Client) verwendet, meist in Form einer wohl definierten Schnittstelle, die die möglichen Operationen/Aktionen festlegt). Eine Metro-Style Anwendung sollte nicht von einer Komponente außerhalb dessen abhängig sein, was im Store-Bereitstellungspaket zur Verfügung gestellt wird. Eine Metro-Style Anwendung kann eine andere Anwendung nur über die Klasse "Windows.System.Launcher" starten (in diesem Kontext, Beispiel Association launching sample ansehen).

    Ich finde Olivers Antwort schon gut, Du hast im Titel des Threads geschrieben: „Andere App direkt starten“ aber dann im Beitrag verschwindet das Wort „direkt“: „ist es möglich aus einer Win8 App eine andere Win8 App zu starten evtl. mit Parameter?“ In Olivers Beitrag finde ich auch die Wörter Share und Contracts.

    Was hat Oliver geschrieben? „eine Win8 App aus einer anderen Win8 direkt zu starten, ist nicht möglich.“ …korrekt: http://stackoverflow.com/questions/13734315/start-process-in-windows-8-metro-application

    Also, das Wort „direkt“ war sehr Wichtig in diesem Diskussionsfaden aber ich freue mich dass Du die Windows.System.Launcher Klasse entdeckt hast. Wir warten Dich mit Neue Fragen hier in unserem Forum.

    Alles Gute und Erfolg!

    Grüße,

    Robert


    Robert Breitenhofer, MICROSOFT   Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 6. Dezember 2012 11:14