Kommunikation zwischen Apps

AppStudio AppFramework beinhaltet das Plug-in "InterAppCommunication", das für Komponenten verwendet wird, mit denen die Interaktion zwischen der eigenen App und anderen Apps gesteuert wird. Standard-Apps sollten entsprechend eingerichtet werden, bevor die Kommunikationsfunktionalität verwendet wird. Um diese Funktionalität nutzen zu können, müssen Sie zunächst die folgende Import-Anweisung einbeziehen:

import ArcGIS.AppFramework.InterAppCommunication 1.0

Ein Beispiel für diese Funktionalität finden Sie in der Beispiel-App, die in ArcGIS AppStudio verfügbar ist, oder im Repository für AppStudio-Beispiele in GitHub.

Email

Vor Version 3.1 von AppStudio wurde die Integration von vorausgefüllten E-Mails in Ihre App am besten mit der Komponente UrlInfo vorgenommen, indem mit der Eigenschaft queryParameters der Betreff und Text von E-Mails über eine URL im Format "mailto" übergeben wurden. Im folgenden Codebeispiel wird anhand der Komponente UrlInfo eine E-Mail mit Systemdetails erstellt:

Button {
    text: "Generate Email"
    
    onClicked: {
        var urlInfo = AppFramework.urlInfo("mailto:example@example.com"), //Instantiates UrlInfo with an email address
            deviceDetails = [ //Collects information about both the device and app
                "%1: %2 (%3)".arg("Device OS").arg(Qt.platform.os).arg(AppFramework.osVersion),
                "%1: %2".arg("Device Locale").arg(Qt.locale().name),
                "%1: %2".arg("App Version").arg(app.info.version),
                "%1: %2".arg("AppStudio Version").arg(AppFramework.version),
            ];
        urlInfo.queryParameters = { //Uses queryParameters property to populate email subject and body
            "subject": "%1 %2".arg("Feedback for").arg(app.info.title),
            "body": "\n\n%1".arg(deviceDetails.join("\n"))
        };
        Qt.openUrlExternally(urlInfo.url); //Uses Qt framework to open constructed UrlInfo
    }
}

Bei diesem Ansatz bestehen jedoch Einschränkungen, da nur ein E-Mail-Empfänger ausgewählt werden kann und Anlagen nicht unterstützt werden. In AppStudio 3.1 wurde die Komponente EmailComposer eingeführt, die speziell dafür konzipiert wurde, einen vorausgefüllten E-Mail-Entwurf im standardmäßigen E-Mail-Client des Geräts zu öffnen.

Im folgenden Codebeispiel wird gezeigt, wie mit der Komponente EmailComposer dieselbe Formular-E-Mail wie im obigen Beispiel für UrlInfo erstellt werden kann. Hier wird sie jedoch mithilfe der Eigenschaften cc und bcc an mehrere Empfänger versendet.

EmailComposer {
    id: emailcomposer
    to: "example@example.com"
    cc: ["example2@example.com", "example3@example.com"]
    bcc: "example4@example.com"
    subject: "Feedback for " + app.info.title
    body:
        "Device OS:" + Qt.platform.os + AppFramework.osVersion + "<p>" +
        "Device Locale:" + Qt.locale().name + "<p>" +
        "App Version:" + app.info.version + "<p>" +
        "AppStudio Version:" + AppFramework.version
    html: true
}

Button {
    id: openEmailButton
    text: qsTr("Generate Email")
    onClicked: {
        emailcomposer.show()
    }
}
Hinweis:

Die Komponente EmailComposer weist auf verschiedenen Plattformen unterschiedliche Verhaltensweisen auf. Weitere Informationen finden Sie in der API-Referenz zu EmailComposer.


In diesem Thema
  1. Email