QMessageManager queryMessages在诺基亚N8中不起作用

时间:2012-09-27 18:45:01

标签: qt-mobility nokia-n8

我正在尝试从Symbian手机收件箱中阅读短信。我使用Qt Creator创建了一个应用程序并使其在Symbian模拟器中运行,但在诺基亚N8中它无法读取任何消息(短信或电子邮件)。

这是我的最小代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QtCore/QCoreApplication>
#include <QMessageManager>

QTM_USE_NAMESPACE

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QMessageManager mm;
    QMessageIdList msgs = mm.queryMessages();
    ui->textBrowser->append(QString("Messages %1").arg(msgs.size()));
    for (int i = 0; i < msgs.count(); ++i) {
        QMessage message = mm.message(msgs.at(i));
        ui->textBrowser->append(message.from().addressee());
        ui->textBrowser->append(message.to().at(0).addressee());
        ui->textBrowser->append(message.textContent());
    }
}
// ...rest is boilerplate code

在模拟器中,它会打印出它的测试消息。在N8中,它只显示“消息0”,尽管有短信和电子邮件消息。

在.pro文件中我声明了

CONFIG += mobility
MOBILITY += messaging

我是Qt的新手所以这可能是每个人都认为理所当然的事情。我尝试了调试和发布版本,并将创建的Qt Creator sis文件复制到手机并进行安装,但结果是一样的。

1 个答案:

答案 0 :(得分:0)

结帐User guide: Symbian Signed。要读取SMS消息,您需要为symbian添加ReadUserData功能。在.pro文件中,添加

symbian:TARGET.CAPABILITY += ReadUserData