c++ - 从 N9 上的 Apps Screen 恢复 MeeGo Harmattan Qt 应用程序

标签 c++ qt meego-harmattan

我正尝试在 Ovi 商店上发布我的第一个 N9 应用程序,但我没有通过质量检查:

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

我的应用程序是用 C++ 和 Qt 编写的,有一个 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)。

这里是关于如何使用 invoker 的文档:
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 上的 Apps Screen 恢复 MeeGo Harmattan Qt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9274894/

相关文章:

c++ - C++ 包装类的含义是什么?

c++ - 访问布局对象 Qt 5

qt - Qt 样式表中的 'not equal to' 选择器是什么?

c++ - 在 Harmattan 上制作 QWidget 应用程序肖像的明确指南

compatibility - 诺基亚 MeeGo 1.2 "Harmattan"和英特尔 Meego 之间的区别?

c++ - 错误 : expected unqualified-id before string constant

c++ - Boost.Asio SSL 神秘线程

c++ - Qt5 WebKit 未检测到 NPAPI 插件

qt - Sailfish OS - 接受对话框后更改页面

c++ - 为什么我不能将非常量参数函数与 stable_sort() 一起使用?