andere App starten mit Parametern aus IPS

Hallo zusammen,
ich hoffe mir kann jemand weiterhelfen. Ich hänge gerade beim Starten einer anderen App, was prinzipiell super funktioniert. ABER ich möchte Parameter an die App weitergeben, die ich aus IPS hole bzw. in IPS aktualisiere. Wie muss ich da vorgehen?

Viele Grüße
Jürgen

IPS_ExecuteEx — IP-Symcon :: Automatisierungssoftware

habe ich leider nicht verstanden. Ich bin ja auf dem Smartphone und möchte dort über IPSview eine App mit Parametern aus IPS starten :confused:

IPS View „Andere App starten“

Hallo maxx2081,
danke für den Hinweis, aber das Starten von anderen Apps funktioniert bei mir wunderbar.

Das Problem ist folgendes: Ich ermittle in IPS z.B. eine Tankstelle mit den schönsten Preisen und zeige das in IPSview an. Nun will ich mit einem Button nicht nur die Navi-APP starten, sondern auch gleich die Adresse der Tankstelle weitergeben. Da das aber nicht immer dieselbe Tankstelle ist, muss ich die Adressdaten auf dem IPSview-Button dynamisch aus IPS ändern können.

Ich hoffe dass ich das jetzt halbwegs verständlich beschrieben habe.
Viele Grüße
Jürgen

Um das zu realisieren wäre Vorraussetzung das Deine Navi-App über eine URL Scheme zu starten ist mit Koordinaten, da must Du Dich am besten beim Navi-App Anbieter erkundigen, ob es eine solche Möglichkeit gibt. Wenn ja wäre dann der zweite Schritt zu schauen ob man so ein URL Scheme auch dymanisch aus einer IP-Symcon Variable in IPSStudio nutzten kann.

Hallo Fonzo,

den ersten Schritt kann ich positiv beantworten. Das funktioniert alles. Nur der 2. Schritt ist das Problem. Da habe ich auch noch keine befriedigende Lösung.

Viele Grüße
Jürgen

so, jetzt habe ich einen vielleicht nicht besonders eleganten aber funktionierenden Workaround gefunden.

Der funktioniert wie folgt:
Mit folgendem Skript erzeuge ich eine Datei names „nav.php“

<?
#-------------------------------------------------------------------------
#       Variablen
#-------------------------------------------------------------------------

	$Ziel       = IPS_GetKernelDir()."webfront/user/nav.php";
    $lon        = GetValue(12345);  //hier die Variablen-ID der Longitude eintragen
    $lat         = GetValue(54321);  //hier die Variablen-ID der Latitude eintragen

#-------------------------------------------------------------------------
#       php-Datei mit Location-redirect zusammenstellen
#-------------------------------------------------------------------------


    $neu = '<?php
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: maps://?daddr='.str_replace (",",".",$lat).','.str_replace (",",".",$lon).'");
        header("Connection: close");'.chr(10).'?>';

#-------------------------------------------------------------------------
#       php-Datei schreiben
#-------------------------------------------------------------------------

    file_put_contents($Ziel, $neu);

?>

danach in IPSview unter „Client-Feature - starte andere App“ einen Button anlegen und den Button unter „Widget-Parameter“ die URL der oben erzeugten Seite eingeben. Die URL muss natürlich z.B. über CONNECT von überall erreichbar sein.

Viele Grüße
Jürgen

PS: das ganze funktioniert mit dem iPhone. Für Android muss der Locatation-String „maps://…“ angepasst werden.

Kommt Zeit, kommt Idee :smiley:

…und die ist gar nicht so kompliziert. Ich poste sie hier mal, falls sich andere mit der gleichen Fragestellung quälen.

Als erstes in IPSview einen TxtLabel positionieren und darüber eine HTMLBox mit transparentem Hintergrund legen. Diese erhält die ID einer Stringvariable in IPS, deren Inhalt ich wie folgt beschreibe

<div style="height: 100px; width: 100%;" onClick="location.href='maps://?q==@54.24,13.45'"></div>

Beim Clicken auf die Fläche in IPSview wird jetzt direkt in de Karten-App gesprungen.

Da der Sprungbefehl jetzt in einer IPS-Variable steht, kann ich die Parameter von „maps“, also die Koordinaten durch IPS dynamisch anpassen. IPSview springt so dynamisch zur richtige Adresse.

Viele Grüße
Jürgen