3

バックスタックに保持したくないアクティビティに属性 noHistory=true を使用しています。Android 2.3.3 では正常に動作していますが、4.0.3 では奇妙な動作があります。画面がスリープ状態になり、スリープ状態から復帰すると、noHistory=true のアクティビティはなくなりました!

何が起きてる?画面が復帰した時点でアクティビティは終了していますか? noHistory を間違った方法で使用していますか?

4

2 に答える 2

2

私は今日同じ問題を抱えていましたが、ここで解決策を見つけました:

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 の両方で問題なく動作していることは確かです。

于 2012-04-14T16:10:58.367 に答える
0

画面がスリープ状態になると onPause() が呼び出されるという事実と関係があるかもしれません。

于 2012-04-12T23:13:18.683 に答える