バックスタックに保持したくないアクティビティに属性 noHistory=true を使用しています。Android 2.3.3 では正常に動作していますが、4.0.3 では奇妙な動作があります。画面がスリープ状態になり、スリープ状態から復帰すると、noHistory=true のアクティビティはなくなりました!
何が起きてる?画面が復帰した時点でアクティビティは終了していますか? noHistory を間違った方法で使用していますか?
バックスタックに保持したくないアクティビティに属性 noHistory=true を使用しています。Android 2.3.3 では正常に動作していますが、4.0.3 では奇妙な動作があります。画面がスリープ状態になり、スリープ状態から復帰すると、noHistory=true のアクティビティはなくなりました!
何が起きてる?画面が復帰した時点でアクティビティは終了していますか? noHistory を間違った方法で使用していますか?
私は今日同じ問題を抱えていましたが、ここで解決策を見つけました:
Android:onStop後に「noHistory」属性でアクティビティに戻る方法は?
実際、noHistory を true に設定すると、画面がスリープ状態になるとアクティビティがスタックから削除され、画面が復帰してもアクティビティは復元されません。
レイアウト xml ファイルから noHistory=true を削除し、アクティビティが別のファイルを呼び出したときに、finish() を呼び出しました。
Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
this.startActivity(intent);
finish();
それはトリックを作りました!戻るボタンをクリックしても、前のアクティビティが表示されません。
問題が Android 2.x で発生したかどうかはわかりませんが、Android v2.x と Android v4.x の両方で問題なく動作していることは確かです。
画面がスリープ状態になると onPause() が呼び出されるという事実と関係があるかもしれません。