Rien de plus simple ...
Créer un projet Qt Quick de base et modifier le fichier "main.qml" comme suit :
import QtQuick 1.0
Rectangle {
width: 360
height: 360
Text {
text: "Cliquer pour ouvrir le client mail natif"
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.openUrlExternally("mailto:alain.dupont@gmail.com?subject=Mes préférences&body=à voir demain.");
}
}
}
Et voici le rendu en deux temps :
- Lorsqu'on clique sur l'écran, la boite de dialogue native suivante s'ouvre afin de demander à l'utilisateur de sélectionner son compte mail à utiliser pour envoyer le message.
- Une fois le compte séléctionné, l'application mail native s'ouvre :
Comme vous pouvez le constater, les contenus des champs "mailto", "subject" et "body" utilisés via l'appel à Qt.openUrlExternally() sont directement exploités par l'application native.
Remarque : sur les versions Symbian^3 antérieures à la version Anna, les caractères accentués ne sont pas gérés. Un workaround existe en Qt C++ :
void EmailHelper::sendEmail(const QString & rTo, const QString & rSubject, const QString & rBody)
{
QString urlString = "mailto:";
urlString += rTo;
urlString += "?subject=";
urlString += rSubject;
urlString += "&body=";
urlString += rBody;
QUrl url(urlString);
QString encodedUrlString = QString::fromAscii(url.toEncoded());
QDesktopServices::openUrl(QUrl(encodedUrlString));
}
La méthode QString::fromAscii permet de convertir la chaîne de caractère au format Unicode.
Aucun commentaire:
Enregistrer un commentaire