Comunicación entre aplicaciones

El AppFramework de AppStudio ofrece un plug-in InterAppCommunication, utilizado para componentes que controlan la interacción entre su aplicación y otras. Se recomienda configurar las aplicaciones predeterminadas antes de usar la funcionalidad para comunicarse con ellas. Para utilizar esta funcionalidad, primero tiene que incluir la siguiente instrucción de importación:

import ArcGIS.AppFramework.InterAppCommunication 1.0

Como ejemplo de esta funcionalidad, consulte la aplicación de muestra disponible en ArcGIS AppStudio o en el repositorio de GitHub de muestras de AppStudio.

Correo electrónico

Antes de AppStudio 3.1, la mejor forma de integrar en su aplicación un correo electrónico preconfigurado era con el componente UrlInfo, utilizando la propiedad queryParameters para transferir el asunto y cuerpo de un correo electrónico mediante una URL mailto. La siguiente muestra de código usa el componente UrlInfo para crear un correo electrónico con los detalles del sistema:

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

Este enfoque es limitado, ya que no permite enviar el correo electrónico a más de un destinatario ni adjuntar archivos. AppStudio 3.1 introdujo un componente EmailComposer, diseñado específicamente para abrir el borrador de un mensaje de correo preconfigurado en el cliente de correo electrónico predeterminado del dispositivo.

La siguiente muestra de código presenta el uso del componente EmailComposer para crear el mismo correo electrónico de formulario que la muestra UrlInfo anterior; sin embargo, esta vez se envía a varias personas con las propiedades cc y 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()
    }
}
Nota:

El comportamiento del componente EmailComposer presenta una serie de diferencias de una plataforma a otra. Para obtener más información, consulte la Referencia de API para EmailComposer.


En este tema
  1. Correo electrónico