Communication entre applications

AppFramework AppStudio fournit un plug-in InterAppCommunication, qui est utilisé pour les composants qui contrôlent l’interaction entre votre application et d’autres. Il est conseillé de configurer les applications par défaut avant d’utiliser une fonction permettant de communiquer avec elle. Pour utiliser cette fonction, vous devez tout d’abord inclure l’instruction d’import suivante :

import ArcGIS.AppFramework.InterAppCommunication 1.0

Pour voir un exemple de cette fonction, consultez l’application d’exemple disponible dans ArcGIS AppStudio ou dans le référentiel GitHub d’exemples AppStudio.

Adresse électronique

Avant AppStudio 3.1, il était préférable d’intégrer un message électronique prérenseigné dans votre application au moyen du composant UrlInfo, à l’aide de la propriété queryParameters pour transmettre l’objet et le corps du message via une URL mailto. L’exemple de code suivant utilise le composant UrlInfo pour créer un message électronique contenant les détails système :

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
    }
}

Cette approche a ses limites, car elle ne permet pas d’envoyer le message à plusieurs destinataires ni de joindre des documents. AppStudio 3.1 a introduit un composant EmailComposer, spécialement conçu pour ouvrir une ébauche de message électronique prérenseigné dans le client de messagerie par défaut de l’appareil.

L’exemple de code suivant indique comment utiliser le composant EmailComposer pour créer le même message électronique de formulaire que l’exemple UrlInfo ci-dessus, mais cette fois envoyé à plusieurs personnes grâce aux propriétés cc et bcc.

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()
    }
}
Remarque :

Actuellement, le comportement du composant EmailComposer présente certaines incohérences selon les plateformes. Pour plus d’informations, reportez-vous à la référence API pour EmailComposer.


Dans cette rubrique
  1. Adresse électronique