teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ドキュメントのリンクを追加

2020/01/07 14:55

投稿

kakajika
kakajika

スコア3133

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  この挙動の原因は、問題集AのActivityからstartActivityForResultで問題集BのActivityを起動していることです。問題集AのActivityが結果を受け取る必要は無いわけですから、startActivityで起動するように修正してみてください。
4
4
 
5
- なお修正後には、onCreateは呼ばれず代わりにonNewIntentで新しいIntentを処理する必要があります。本来はFLAG_ACTIVITY_SINGLE_TOPを指定して同じクラスのActivityを起動する場合、こちらの挙動が正しいものです。startActivityForResultで起動していたために、前のActivityが別のインスタンスとして残ってしまっていたのだと思います。
5
+ なお修正後には、onCreateは呼ばれず代わりにonNewIntentで新しいIntentを処理する必要があります。本来はFLAG_ACTIVITY_SINGLE_TOPを指定して同じクラスのActivityを起動する場合、こちらの挙動が正しいものです。startActivityForResultで起動していたために、前のActivityが別のインスタンスとして残ってしまっていたのだと思います。
6
+
7
+ 参考: [https://developer.android.com/guide/components/tasks-and-back-stack?hl=ja#IntentFlagsForTasks](https://developer.android.com/guide/components/tasks-and-back-stack?hl=ja#IntentFlagsForTasks)