2012-02-14 14 views
2

のアプリ画面からのMeeGoハルマッタンQtアプリケーションを復元しますアプリケーションをバックグラウンドで中断する。 再製図の手順: 1.コンテンツをダウンロードしてインストールします。 2.アプリケーションを起動します。 3.アプリケーションをバックグラウンドで中断します。 4.アプリケーションアイコンをクリックします。 実際の結果:アプリケーションアイコンをクリックすると応答はありません。 予想される結果:アプリケーションが前面に戻ります。コンテンツファイルの機能とコントロールは、指定どおりに機能する必要があります。は、私がオヴィストアにN9のための私の最初のアプリケーションを公開しようとしていますが、私はQAに失敗したN9

私のアプリケーションはQtでC++で書かれていますが、1つの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

これを行う正しい方法はinvokerを呼び出してapplauncherdを使用してアプリを起動することです。また、ブースター機能を使用してアプリの起動時間を改善することもできます(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

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); 
} 

をQEvent :: SockAct filetrホーム画面上のアイコンを押すとアプリケーションを復元した後。

関連する問題