When a user clicks on the link, I get the event on the manifest and opens ActivityB.
ActivityB
次に、これはスタックの上に置くことを意味します...これは予想されます。あなたができることは、開店直前に電話finish()
をかけることです。このようにして、スタックから削除しています。それから戻ると、アプリは以前のものを表示します- そこに何かあった場合。ActivityA
ActivityB
ActivityA
ActivityB
ActivityA
あなたの場合、ActivityA
リソース(通常はメモリ)を再利用するためにAndroidシステムによって破壊されているようです。またはDeveloper Options
、チェック済みで、そこにDon't keep activities
チェック済みの場合もあります。
EDIT : @merendicaからの正当性に関する以下の合理的で公正なコメントのため、また反対票を投じました:属性が null でないActivityA
かonCreate()
どうかを確認することで、アクティビティが再作成されたかどうかを確認できます:Bundle
if(savedInstance == null) {
// activity newly created
} else {
// activity re-created either because of screen rotation
// or user returned at some point to this activity
}
そのため、アクティビティが再作成された場合は、現在使用しているロジックを呼び出さないでください。