Archived:Como enviar e receber mensagens, em Qt para Symbian
This relies on the Archived:Mobile Extensions, which are deprecated. This functionality is now provided through the Qt Mobiity APIs
Dados do artigo
Exemplo de código
Testado com
Compatibilidade
S60 5th Edition
Platform Security
Artigo
Contents |
Introdução
Este trecho de código mostra como enviar e receber mensagens em Qt. Archived:Mobile Extensions contém as classes XQMessaging e XQMessage, que provêm um modo para enviar e receber mensagens.
O código requer ReadUserData, NetworkServices, WriteUserData ,UserEnvironment e LocalServices. Portanto auto-assinatura não é possível porque um Developer Certificate (Symbian Signed) is necessário.
Pré-requisitos
- Baixe e instale a versão atual do Qt segundo as instruções Qt (Portuguese).
Cabeçalhos requeridos
#include "XQMessaging.h"
#include "XQMessage.h"
Arquivo .pro
Add following lines to your .pro file.
symbian:LIBS += -lsendas2 \
-lmsgs \
-letext \
-lefsrv \
-lcharconv \
-lgsmu
symbian:TARGET.CAPABILITY = NetworkServices \
LocalServices \
ReadUserData \
WriteUserData \
UserEnvironment
Enviar SMS
Para o envido de SMS, nós precisamos de criar uma mensagem com a classe XQMessage. Feito isso, a envie usando o método send() da classe XQMessaging. O seguinte código mostra como enviar um SMS.
Código fonte
void QtSMSOperation::sendSMS()
{
XQMessaging messaging;
XQMessage message(QStringList("98433487876"),QString("Testing"));
if (messaging.send(message) == XQMessaging::NoError)
{
QMessageBox msgBox;
msgBox.setText(tr("SMS was sent successfully"));
msgBox.exec();
}
}
Receber SMS
A classe XQMessaging emite um sinal messageReceived(), quando o SMS é recebido, com referências da classe XQMessage que tem possui o corpo da mensagem e informações do remetente. Deste modo nós precisamos de capturar um sinal no seus slots. O seguinte código fonte mostra como receber um SMS.
/* implement signal ans slots to listen all incoming message */
QtSMSOperation::QtSMSOperation(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
/* messaging is declared of type XQMessaging in header file.
* the slot receiveSMS() will get called on al incomming message */
connect(&messaging, SIGNAL(messageReceived(const XQMessage&)), this, SLOT(receiveSMS(const XQMessage&)));
messaging.startReceiving(XQMessaging::MsgTypeSMS);
}
/* receive incomming message */
void QtSMSOperation::receiveSMS(const XQMessage& message)
{
/* message.sender() contains the cell number of sender
* and message.body contain body part of message */
QMessageBox::information(0,message.sender(),message.body());
}
Código exemplo
- O Código exemplo, mostrará como enviar e receber mensagens em Qt e foi testado no Nokia 5800 XpressMusic.


(no comments yet)