В Blackberry Cascades 10 (C ++, Qt, QML) как вызвать почтовый клиент с заполненными полями?
Я изучил это — и вот что я пытался сделать:
InvokeManager invokeManager;
InvokeRequest request;
request.setTarget("sys.pim.uib.email.hybridcomposer");
request.setAction("bb.action.OPEN, bb.action.COMPOSE");
request.setMimeType("message/rfc822");
QString data = QString("{ \"to\" : [\"" + btnEmailTo_->text() + "\"], \"subject\" : \"---This is the Subject---\", \"body\" : \"---This is the Body---\" }");
request.setData(data.toUtf8());
if (reply_ = invokeManager.invoke(request)) QObject::connect(reply_, SIGNAL(finished()), this, SLOT(onInvokeResult()));
Но похоже, что это вызывает почтовый клиент — но ни одно из полей не заполнено.
(В случае, если вам интересно — устройство blackberry, на котором я тестирую это в качестве основной настройки учетной записи электронной почты, — что при нажатии кнопки отправки в почтовом клиенте оно отправляется с учетной записи электронной почты, настроенной в blackberry.)
Информацию о вызове электронных писем можно найти здесь: http://developer.blackberry.com/cascades/documentation/device_platform/invocation/email.html#ufa1355425510139.
Из прочитанного я могу только догадываться, что вы испортили действие — это должно быть только bb.action.COMPOSE в соответствии с документацией при вызове электронной почты с предварительно заполненными полями с использованием данных в JSON.
Других решений пока нет …