Comunicação Inter Aplicativo

O AppStudio AppFramework fornece um plugin InterAppCommunication utilizado para componentes que controlam a interação entre seu aplicativo e outros. É recomendado que os aplicativos padrão sejam configurados antes de utilizar a funcionalidade para se comunicar com eles. Para utilizar esta funcionalidade, primeiro você precisa incluir a seguinte declaração de importação:

import ArcGIS.AppFramework.InterAppCommunication 1.0

Para obter um exemplo desta funcionalidade, consulte o aplicativo de amostra disponível em ArcGIS AppStudio ou no repositório de GitHub das amostras do AppStudio

E-mail

Antes do AppStudio 3.1, a integração de um e-mail pré-preenchido em seu aplicativo era melhor realizada com o componente UrlInfo, utilizando a propriedade queryParameters para passar um assunto e corpo de um e-mail através de uma URL do endereço eletrônico. A seguinte amostra de código utiliza o componente UrlInfo para criar um e-mail contendo detalhes do 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
    }
}

Essa abordagem é limitada, pois não permite endereçar o e-mail a mais de um destinatário nem oferecer suporte a anexos. O AppStudio 3.1 introduziu um componente do EmailComposer, projetado especificamente para abrir um rascunho de e-mail pré-preenchido para o cliente de e-mail padrão do dispositivo.

A seguinte amostra de código demonstra o uso do componente EmailComposer para criar o mesmo e-mail de formulário da amostra que a amostra de UrlInfo acima, desta vez enviado para várias pessoas utilizando as propriedades cc e 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()
    }
}
Anotação:

O componente EmailComposer tem várias diferenças de comportamento entre plataformas. Para mais informações, consulte a Referência de API para EmailComposer.


Neste tópico
  1. E-mail