从N9上的应用程序屏幕恢复MeeGo Harmattan Qt应用程序
Restore MeeGo Harmattan Qt application from Apps Screen on N9
我正试图在Ovi商店上发布我的第一个N9应用程序,但我没有通过QA:
摘要:在后台暂停应用程序后,应用程序无法通过单击应用程序图标返回到前面。复制步骤: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);
}
但是当重现这个bug时,我根本无法访问eventFilter。当我按下图标时,我应该怎么做才能回到我的应用程序?
正确的方法是使用applauncherd
通过调用invoker
来启动应用程序。你也可以使用它的助推器功能来缩短应用程序的启动时间(通过使用MDeclarativeCache
)。
以下是关于如何使用invoker的文档:
http://harmattan-dev.nokia.com/docs/platform-api-reference/showdoc.php?pkn=applauncherd-用户文档&wb=每日文档&url=Li94bWwvZGFpbHktZG9jcy9hcHBsYXVuY2hlcmQtdXNlci1kb2N1bWVudGF0aW9u
以下是如何使用MDeclarativeCache
:
http://harmattan-dev.nokia.com/docs/platform-api-reference/showdoc.php?pkn=applauncherd-mdeclarativache文档&wb=每日文档&url=Li94bWwvZGFpbHktZG9jcy9hcHBsYXVuY2hlcmQtbWRlY2xhcmF0aXZlY2FjaGUtZG9jdW1lbnRhdGlvbg%3D%3D
经过一些实验,我找到了解决方案。这有点奇怪,但它有效:
bool Widget::eventFilter(QObject *object, QEvent *event)
{
if (event->type() == QEvent::ActivationChange)
{
if (isActiveWindow())
{
resume();
}
else
{
pause();
}
}
else if (event->type() == QEvent::SockAct) // pure magic
{
activateWindow();
resume();
}
return QWidget::eventFilter(object, event);
}
按下主屏幕上的图标后,filetr QEvent::SockAct并恢复应用程序。
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 从N9上的应用程序屏幕恢复MeeGo Harmattan Qt应用程序