2011-11-13 20 views
2

startActivityForResultを使用してアクティビティを開始しました。開始されたアクティビティの中で、finishActivityFromChildを使用してアクティビティを呼び出すことを終了します。しかし、それは動作しません。これには他の方法があるかもしれません。アクティビティを終了することは可能ですか

+0

私は呼び出し元のアクティビティを強制終了する理由を知ることができますか? – 500865

+0

これは、私のアプリのビジネスロジックが、次のアクティビティで何らかのアクションが呼び出された場合に戻ってこないようにするためです。 –

答えて

2

子アクティビティ内で親アクティビティを強制終了する理由はありますか?あなたは子供を始めた直後に親を殺したいだけでしたか?親アクティビティが子アクティビティから返された結果を使用しておらず、子アクティビティによってちょうど殺されている場合は、startActivityForResult()を使用する点がありません。あなたが実際の親アクティビティに結果を返したい場合

Intent intent = new Intent(this, MyNextActivity.class); 
startActivity(intent); 
finish(); 

:あなたは、単に新しい活動を開始した後に存在する親アクティビティを必要としない場合

は、次のコードを使用することができます子アクティビティを終了して親アクティビティを終了する場合は、親アクティビティ内のonActivityResult()を実行するために子アクティビティを終了して親アクティビティに戻らなければなりません。子アクティビティが単独では処理できない処理の結果を返す必要がある場合は、その代わりにサービスを必要とする可能性があります。

+0

これを考慮してください:アクティビティAは結果のためにBを呼び出します。 Bよりも成功した場合はCを呼び出す必要があります。私たちは、BからAおよびCよりもむしろ単純なA→B→CまたはA→B→a(失敗時)のアニメーションのジャンプをユーザーに表示させたくありません。ユースケース:ユーザーの概要にログインするためのアプリの概要。 – Greg

0

開始アクティビティを返すと、親アクティビティを強制終了した場合、結果はどうなりますか?子アクティビティのバックボタンを単にロックアウトするほうが簡単なので、ユーザーはアプリを起動して元の状態に戻す必要があります。あなたの親アクティビティへの参照を取得し、アプリケーションに格納して、それを行う方法は、(もしかして)あなたが本当に必要だったならば、おそらくいくつかの(非常に推奨されない)方法があります。しかし、皆とその母親は、 。

関連する問題