2011-12-08 15 views
2

WhatsAppからこのような動作が観察されました。新しいメッセージが到着したとき、WhatsAppはダイアログスタイルのアクティビティを起動し、そのような動作をキャンセルまたは確認できます。ダイアログスタイルのアクティビティを起動したときに予期しない動作が発生しました。

したがって、同様のダイアログスタイルのアクティビティをアプリに追加しました。テスト目的のために、アラームマネージャーとアラームレシーバーも追加しました。このアクティビティは、アラームレシーバーによって10秒ごとに起動されます。

私は、ダイアログスタイルのアクティビティを起動するために使用されるコードは次のとおりです。

Intent dialogIntent = new Intent(MyApplication.sharedApplication, MyDialogStyleActivity.class); 
    dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    MyApplication.sharedApplication.startActivity(dialogIntent); 

私のアプリケーションが起動されていない場合はすべてが正常に見えました。ダイアログのアクティビティは、WhatsAppのふるまいのように、ホーム画面の背後に表示されます。

しかし、私のアプリケーションが起動されてバックグラウンドに置かれ、アラームがダイアログアクティビティの起動をトリガしたとき、ダイアログアクティビティの起動前に問題がありました。私のアプリケーションの主なアクティビティはフォアグラウンドに戻って表示することもできます。

私が今思っているのは、アプリケーションが起動しても何かがダイアログスタイルのアクティビティをトリガしても、このダイアログスタイルのアクティビティだけが表示され、メインアクティビティやその他のun関連活動。

誰でも手助けできますか?

答えて

4

アプリケーションでアクティビティスタックが維持されます。あなたのメインアクティビティAとあなたのダイアログアクティビティBは、あなたのアプリのアクティビティスタックにA-> Bと表示されます。

アプリを起動してバックグラウンドにするとき。あなたのダイアログアクティビティが呼び出され、フォアグラウンドに持ち込まれると、メインアクティビティAはまだ生きているので、同様に表示されます。 startActivity(dialogActivity)の後にAで「finish()」を呼び出して、Aが終了して消えることを確認できます。

関連する問題