Archived:Send SMS using Qt Mobility
m (Published as per Sunil's request) |
hamishwillee
(Talk | contribs) m (moved Send SMS using Qt Mobility to Archived:Send SMS using Qt Mobility: Article no longer works with current SDKs) |
||
| (29 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category:Qt | + | [[Category:Code Snippet]][[Category:Qt Mobility]][[Category:MeeGo Harmattan]][[Category:Symbian]][[Category:SMS]][[Category:Qt]] |
| − | {| | + | {{Archived|This example is outdated and may not compile with new sdks; see this for new examples [[Qt Mobility API Basic Examples Part 1]]'''}} |
| − | |- | + | {{Abstract|The following code shows how to send an SMS using Qt Mobility.}} |
| − | | | + | {{ArticleMetaData <!-- v1.2 --> |
| − | | | + | |sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] --> |
| − | |- | + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> |
| − | | | + | |devices= Nokia N97 Mini, Nokia N900 |
| − | | | + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> |
| − | |- | + | |platform= S60 5th Edition, Maemo 5 |
| − | | | + | |devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> |
| − | | | + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> |
| − | |- | + | |signing= DevCert required |
| − | | | + | |capabilities= ReadUserData, WriteUserData, ReadDeviceData, WriteDeviceData |
| − | + | |keywords= QMessageServiceAction, QMessageId | |
| − | + | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | |
| − | + | |translated-by= <!-- [[User:XXXX]] --> | |
| − | |- | + | |translated-from-title= <!-- Title only --> |
| − | | | + | |translated-from-id= <!-- Id of translated revision --> |
| − | | | + | |review-by= <!-- After re-review: [[User:username]] --> |
| − | + | |review-timestamp= <!-- After re-review: YYYYMMDD --> | |
| − | + | |update-by= <!-- After significant update: [[User:username]]--> | |
| − | + | |update-timestamp= <!-- After significant update: YYYYMMDD --> | |
| − | {{ | + | |creationdate= July 7 2010 |
| − | + | |author= [[User:Skumar rao]] | |
| − | + | <!-- The following are not in current metadata --> | |
| − | + | |id= CS001616 | |
| − | + | }} | |
| − | + | {{SeeAlso|[[Archived:Setting up environment for Qt Mobility API]]}} | |
== Project configuration file (.Pro file) == | == Project configuration file (.Pro file) == | ||
| Line 33: | Line 33: | ||
CONFIG += mobility | CONFIG += mobility | ||
MOBILITY += messaging | MOBILITY += messaging | ||
| + | </code> | ||
| + | |||
| + | The use of Messaging requires the [[Capabilities (Symbian Signed)/ReadUserData Capability|ReadUserData]] and [[Capabilities (Symbian Signed)/WriteUserData Capability|WriteUserData]] capabilities from the '''user granted''' category. | ||
| + | It also requires the [[Capabilities (Symbian Signed)/ReadDeviceData Capability|ReadDeviceData]] and [[Capabilities (Symbian Signed)/WriteDeviceData Capability|WriteDeviceData]] capabilities from the '''open signed online''' category. Read more about [[Capabilities]]. | ||
| + | |||
| + | <code cpp-qt> | ||
| + | symbian { | ||
| + | TARGET.CAPABILITY = ReadUserData \ | ||
| + | WriteUserData \ | ||
| + | ReadDeviceData \ | ||
| + | WriteDeviceData | ||
| + | } | ||
</code> | </code> | ||
===Headers=== | ===Headers=== | ||
| − | <code> | + | <code cpp-qt> |
#include <qtmessaging.h> | #include <qtmessaging.h> | ||
| Line 47: | Line 59: | ||
===Source file=== | ===Source file=== | ||
| − | <code> | + | <code cpp-qt> |
| − | // connect | + | // connect messages state-change signal to our slot, to get notification |
connect(&m_MessageServiceAction, SIGNAL(stateChanged(QMessageServiceAction::State)), this, SLOT(messageStateChanged(QMessageServiceAction::State))); | connect(&m_MessageServiceAction, SIGNAL(stateChanged(QMessageServiceAction::State)), this, SLOT(messageStateChanged(QMessageServiceAction::State))); | ||
| Line 68: | Line 80: | ||
void send_sms::messageStateChanged(QMessageServiceAction::State s) { | void send_sms::messageStateChanged(QMessageServiceAction::State s) { | ||
if (s == QMessageServiceAction::Successful) { | if (s == QMessageServiceAction::Successful) { | ||
| − | // message send | + | // message send successful |
} | } | ||
else { | else { | ||
| Line 77: | Line 89: | ||
===Classes=== | ===Classes=== | ||
| − | * QMessageServiceAction | + | * [http://doc.qt.nokia.com/qtmobility-1.0-tp/qmessageserviceaction.html QMessageServiceAction] |
| − | * QMessageId | + | * [http://doc.qt.nokia.com/qtmobility-1.0/qmessageid.html QMessageId] |
== Reference links== | == Reference links== | ||
* [http://qt.nokia.com/ Qt - cross-platform application and UI framework] | * [http://qt.nokia.com/ Qt - cross-platform application and UI framework] | ||
* [http://labs.trolltech.com/page/Projects/QtMobility Qt Mobility API] | * [http://labs.trolltech.com/page/Projects/QtMobility Qt Mobility API] | ||
| − | * [http://qt.nokia.com/developer/ | + | * [http://qt.nokia.com/developer/qt-roadmap New Qt APIs Beta - Mobility Project] |
* SDK help | * SDK help | ||
Latest revision as of 01:24, 18 October 2012
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
This example is outdated and may not compile with new sdks; see this for new examples Qt Mobility API Basic Examples Part 1
This example is outdated and may not compile with new sdks; see this for new examples Qt Mobility API Basic Examples Part 1
The following code shows how to send an SMS using Qt Mobility.
Article Metadata
Tested with
Devices(s): Nokia N97 Mini, Nokia N900
Compatibility
Platform(s): S60 5th Edition, Maemo 5
Platform Security
Signing Required: DevCert required
Capabilities: ReadUserData, WriteUserData, ReadDeviceData, WriteDeviceData
Article
Keywords: QMessageServiceAction, QMessageId
Created: skumar_rao
(07 Jul 2010)
Last edited: hamishwillee
(18 Oct 2012)
Contents |
Project configuration file (.Pro file)
- Add the Qt Mobility project configuration option in the .Pro file as shown below
CONFIG += mobility
MOBILITY += messaging
The use of Messaging requires the ReadUserData and WriteUserData capabilities from the user granted category. It also requires the ReadDeviceData and WriteDeviceData capabilities from the open signed online category. Read more about Capabilities.
symbian {
TARGET.CAPABILITY = ReadUserData \
WriteUserData \
ReadDeviceData \
WriteDeviceData
}
Headers
#include <qtmessaging.h>
private slots:
void messageStateChanged(QMessageServiceAction::State s);
private:
QMessageServiceAction m_MessageServiceAction;
QMessageId m_sendId;
Source file
// connect messages state-change signal to our slot, to get notification
connect(&m_MessageServiceAction, SIGNAL(stateChanged(QMessageServiceAction::State)), this, SLOT(messageStateChanged(QMessageServiceAction::State)));
void send_sms::QtSendSMSMessage(QString address, QString body) {
// Prepare QMessage with address & body
QMessage message;
message.setType(QMessage::Sms);
message.setTo(QMessageAddress(address, QMessageAddress::Phone));
message.setBody(body);
if (iMessageServiceAction.send(message)) {
sendId = message.id();
}
else {
// message sending failed
}
}
void send_sms::messageStateChanged(QMessageServiceAction::State s) {
if (s == QMessageServiceAction::Successful) {
// message send successful
}
else {
// message sending failed
}
}

