我正在尝试在Ovi商店上发布我的第一个N9申请,但我的质量检查失败了:

简介:在后台将应用程序挂起后,该应用程序无法通过单击应用程序图标返回到前端。
重现步骤:
1.下载并安装内容。
2.启动应用程序。
3.在后台暂停应用程序。
4.单击应用程序图标。
实际结果:单击应用程序图标时没有响应。
预期的结果:该应用程序返回到最前面。内容文件中的功能部件和控件必须按指定的功能运行。

我的应用程序是用Qt用C++编写的,有一个QWidget。
在主函数中,我正在调用

Widget w;
w.showFullScreen();

我也重写eventFilter
bool Widget::eventFilter(QObject *object, QEvent *event)
{
    if (event->type() == QEvent::ActivationChange && m_created) {
        if (isActiveWindow()) {
            resume();
        }
        else {
            pause();
        }
    }

    return QWidget::eventFilter(object, event);
}

但是,在重现该错误时,我根本不会使用eventFilter。当我按下图示时,该怎么做才能回到我的应用程式?

最佳答案

正确的方法是使用applauncherd通过调用invoker启动您的应用程序。您还可以使用其增强功能来提高应用程序的启动时间(通过使用MDeclarativeCache)。

以下是有关如何使用调用程序的文档:
http://harmattan-dev.nokia.com/docs/platform-api-reference/showdoc.php?pkn=applauncherd-user-documentation&wb=daily-docs&url=Li94bWwvZGFpbHktZG9jcy9hcHBsYXVuY2hlcmQtdXNlci1kb2N1bWVudGF0aW9u

这是使用MDeclarativeCache的方法:
http://harmattan-dev.nokia.com/docs/platform-api-reference/showdoc.php?pkn=applauncherd-mdeclarativecache-documentation&wb=daily-docs&url=Li94bWwvZGFpbHktZG9jcy9hcHBsYXVuY2hlcmQtbWRlY2xhcmF0aXZlY2FjaGUtZG9jdW1lbnRhdGlvbg%3D%3D

关于c++ - 从N9上的应用程序屏幕还原MeeGo Harmattan Qt应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9274894/

10-13 03:26