Pause Qt Symbian application when suspended in background

  • I am developing Qt application on symbian^3 device.
    I have timer loop where I render graphics to the screen.
    I have captured EEventFocusGained and EEventFocusLost events and I stop timer-loop when application has lost focus and start timer when focus is gained. I have done things like in this article:


    My application stops updating the screen when focus is lost.

    I have made part of user inteface with QML.

    I am trying to publish this application in ovi store but QA still fails saying that timer-loop does not stop when application is suspended in background.

    Is there some other events that I should capture or some other things' that I should take care?

  • Not very cross platform at all. I use this:

    ApplicationActive::ApplicationActive(QObject *parent) :
    appActive = true;

    bool ApplicationActive::isActive() {
    return appActive;

    bool ApplicationActive::eventFilter(QObject *object, QEvent *event)
    //qDebug() << event->type();
    if (event->type() == QEvent::ApplicationActivate || event->type() == QEvent::WindowActivate) {
    qDebug() << "Active";
    appActive = true;

    if(event->type() == QEvent::ApplicationDeactivate || event->type() == QEvent::WindowDeactivate) {
         qDebug() << "Hidden";
        appActive = false;
    emit isActiveWindowChanged();
    return false;


    then in main.cpp

    ApplicationActive aa;

    Then from your QML you can check if you should trigger your timer event with application.isActive()

  • Thanks' for that information.
    I will try with it.
    In few days we will see what the QA says.

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.