2016-03-31 22 views
0

私はMainActivity(Aと呼ぶ)が他のアクティビティを起動し、android.intent.action.VIEWを処理します。さて、私は現在、2つの以上の活性が起動している状態では、AはBを立ち上げていて、その後、BはC打ち上げ:android.intent.action.VIEWを処理するときに他のアクティビティの上にAndroidの起動アクティビティ

A -> B -> C 

それでは、活動Cはandroid.intent.action.VIEWをトリガーとしましょうを...応答して活動Aはアクティビティを起動する必要がありますスタックの最後の活動としてDそのような状況は、ビーイングを終わるので:

A -> B -> C -> D 

しかし、何が起こるかというと、私は活動Aが上にスポーンし、それの上にDを生成します状況で終わるように見えるということです私の "スタック"は次のように見えます:

私は戻るボタンを押すと10

代わりに戻ってCに行こうと、私は何とかまた、アクティビティAに終わる、新しいonNewIntentActivity Aにトリガーが、そうonStart & onResumeを行います。

方法はありますか?または、何とか別の方法でandroid.intent.action.VIEWを処理する必要がありますか?アクティビティCの上でアクティビティDを起動し、バックボタンを押すとアクティビティCに戻ります。

答えて

0

アクティビティCで何かを押すと、アクティビティDを開始できると思います。

+0

は私がどこにでもそれを行うことがしたい - 残念ながら私はAからその新しいアクティビティを起動する必要がありますか私は 'android.intent.action.VIEW' – kape123

+0

を扱うどこで、あなたはそれを行うことができます:この記事は助けユーザーがDから戻るボタンを押したときにこのシーケンスB→C→A→Dを取得すると、アクティビティAのアクティビティAに移動します。アクティビティDからアクティビティAに戻るときにのみトリガするOnActivityForResultメソッドを使用できます。 onActivity自身のOnActivityForResultでは、ActivityCのインテントを実行します –

0

Activity Cを登録するリスナをActivity Aに使用します。 Activity Cは私がsingleInstanceとしてActivity Aを指定することで問題を解決してきましたActivity A

関連する問題