こんにちは私のアプリは、3つのアクティビティの1つがダイアログです。私はこのコードを使用してこれをやったのAndroidManifest.xmlandroid dialogueの後ろに別のビューを開く
android:theme="@android:style/Theme.Dialog"
また、アプリケーションは、それはまたの一つ開き、この行いただし際に、アプリケーションが表示されていない場合でも、ダイアログボックスを開くことができるサービスを提供していますその他の活動はバックグラウンドで行われます。このアクティビティを停止して現在のアクティビティの前にダイアログを開くようにする方法はありますか(アクティビティが別のアプリケーションからのものであっても)。
おかげで、 ng93
私はスタックをクリアすることが私がする必要があると思うが、FLAG_ACTIVITY_CLEAR_TOPは機能しません。スタックをクリアする別の方法はありますか?歓声 – ng93
FLAG_ACTIVITY_CLEAR_TOPは、インテントを受け取ったアクティビティの上のアクティビティスタックをクリアするように機能します。アクティビティA(ルート)、B、C、およびDが与えられた場合、CLEAR_TOPフラグを使用してアクティビティBをコールすると、CとDが削除され、Bがトップアクティビティになります。あなたのアプリケーションでは、A、B、C、D、E(あなたの新しいダイアログアクティビティ)となる新しいアクティビティを呼び出すと仮定します。 Eの上に何もないので、何もクリアされません。スタックをクリアするには、アクティビティAをCLEAR_TOPで呼び出し、そのアクティビティでstartActivityForResultを使用してダイアログを起動させます。つづく... – brack
それでは、ルートアクティビティで何をする必要があるのでしょうか(それを "A"と呼んでいます)、ダイアログアクティビティがいつ終了したかを知るためにonActivityResultをチェックしてください。ダイアログが終了したら、アクティビティAでfinish()を呼び出すと、アプリケーションのタスクが終了し、以前のアプリケーションに戻ることができます。 – brack