2012-04-30 21 views
1

2つのアクティビティ "A"と "B"があり、 "A"が "B"を開始しています。 startActivityForResult()メソッドでアクティビティ "B"を開始します。 "B"がフォアグラウンドにあり、ホームボタンが押されると、アプリはバックグラウンドに移動します。また、アプリをもう一度起動しようとすると、「B」ではなく「A」アクティビティから開始されます。アクティビティ "B"の結果はキャンセルされます。 「B」が閉じているのはなぜですか? 私は、マニフェストでlaunchModesを使用すると問題を解決できると思っていましたが、結果がキャンセルされ、アクティビティが開始されないため、ドキュメントではsingleTaskとsingleInstanseモードを使用できません。ホームボタンを押したときにアクティビティが終了する

どうすればこの問題を解決できますか?

PS 回答ありがとうございます。問題は解決しました。私はonStop()でfinish()を使用しようとしたので、アクティビティ "B"がフォアグラウンドにあり、ホームボタンが押されたときに終了します。

+1

このためにlaunchModeについて心配する必要はありません。デフォルトでは、Bはスタックの一番上のアクティビティです。他の何かが間違っている必要があります。あなたはlogcatで潜在的に疑わしいものを見ますか? –

+0

あなたはあなたに活動コードb –

答えて

0

startActivity(Intent)メソッドを使用して、アクティビティBをインテントで開始します。あなたの目的は、このようにやや見コードで、その結果、引数A.thisとB.classで作成する必要があります

意向I =新しいテント(A.this、B.class)。

A.this.startActivity(i);

+0

を貼り付けることができますあなたの場合、私は活動 "B"の結果を得ることができません –

関連する問題