0

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

这是我的最小代码:

#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 中,尽管有 SMS 和电子邮件消息,但它只显示“Messages 0”。

在 .pro 文件中我已经声明

CONFIG += mobility
MOBILITY += messaging

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

4

1 回答 1

0

查看用户指南:Symbian 签名。要阅读 SMS 消息,您需要为 symbian 添加 ReadUserData 功能。在 .pro 文件中,添加

symbian:TARGET.CAPABILITY += ReadUserData
于 2012-10-01T19:19:58.150 回答