對N9

2012-02-14 33 views
2

我想發佈的N9在Ovi商店我的第一應用的應用屏還原的MeeGo Harmattan出版社Qt的應用程序,但我失敗了QA:對N9

摘要:應用程序無法通過點擊後,應用程序圖標後到前在後臺暫停應用程序。 重複步驟: 1.下載並安裝內容。 2.啓動應用程序。 3.在後臺暫停應用程序。 4.單擊應用程序圖標。 實際結果:單擊應用程序圖標時沒有響應。 預期結果:應用程序回到前面。內容文件中的功能和控件必須按照指定的功能運行。

我的應用程序是用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的。當我按下圖標時,我該怎麼做才能回到我的應用程序?

回答

1
0

經過一番實驗後,我找到了解決辦法。這是一個有點怪異,但它的工作原理:

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和恢復應用程序之後。