Использование Nokia Qt для отправки сообщения в S60 (Nokia E72) - PullRequest
0 голосов
/ 05 мая 2011

Я новичок в Qt и пытаюсь использовать QtMobility для отправки сообщения. Я использую пример в этой ссылке: http://doc.qt.nokia.com/qtmobility/writemessage.html

Я могу скомпилировать исходный код, и его можно протестировать на симуляторе. Но когда я развернул его на E72, программа не удалась. Потому что он не может найти доступных аккаунтов. Проблема заключается в следующем коде:

 // Find the list of available accounts and add them to combo box
foreach (const QMessageAccountId &id, manager.queryAccounts()) {
    QMessageAccount account(id);
    ...
}

if (accountDetails.isEmpty()) {
    QMessageBox::warning(0, tr("Cannot send"), tr("No accounts are available to send with!"));
    QCoreApplication::instance()->quit();
} else {
    accountCombo->setCurrentIndex(0);
}

Код введите (accountDetails.isEmpty ()) на устройстве, но это нормально, когда на симуляторе. Таким образом, manager.queryAccounts () возвращает пустой список.

Что такое аккаунт? в симуляторе это SMS и MMS. Но почему в устройстве пусто? Код не инициализирует менеджер, поэтому я не могу проследить, как он работает. О, кстати, менеджер является экземпляром QMessageManager. Что мне делать, чтобы это работало в устройстве?

Я использую Nokia Qt SDK с QtMobility версии 1.0.2, если это помогает.

1 Ответ

0 голосов
/ 05 мая 2011

Хорошо, я получил ответ.Проблема не в приложении или в Qt.Но сертификация.QMessageManager так или иначе должен получить доступ к ОС.Это описано в файле * .pro, в symbian: TARGET.CAPABILITY.Это называется способностями.И некоторые возможности не могут быть самоподписанными, что является настройкой по умолчанию в настройках проекта.Необходимо подписать.

Я использовал Open Signed здесь: https://www.symbiansigned.com/app/page/public/openSignedOnline.do, чтобы получить файл с подписью.После того, как файл подписан, установите подписанный файл на устройство, и программа сможет получить доступ к ОС, и queryAccounts () QMessageManager не вернет пустой результат.

вот и все.И сообщение может быть отправлено.

Я думаю, что это немного раздражает, когда мне нужно протестировать его на устройстве, которое мне нужно сначала подписать.А оффлайн нужна лицензия, которая не бесплатна, а я только учусь.* вздох

Отредактировано: Каким-то образом я могу запустить его с самоподписанным.Но я не знаю точно, как это может быть.Что я делаю:

  1. запускаю самоподписанное приложение с QtCreator.ошибка: невозможно скопировать с компьютера на устройство
  2. перезагрузить устройство
  3. запустить самоподписанное приложение с QtCreator.ошибка: общее отношение к ОС
  4. Установите приложение вручную с помощью PC Suite.Много предупреждений.

И я забыл, что дальше - попробуйте запустить с QtCreator.работает отлично.- или сначала удалите с помощью PC Suite.

...