2

私のアクティビティがメモリのためにOSによって破壊された場合(たとえば、電話が中断している場合)、アクティビティを再開しようとすると、onDestroy()を除いて、予期されたコールバックに戻りません。どうすればよいですか?アクティビティをもう一度復元します。

注:-onCreate()にもonRestoreInstanceState()にも戻りません。-私のアクティビティにはスレッドが含まれています。

編集:isFinishing()はonPause()でfalseを返し(中断前)、再び戻ったときにonDestroy()でtrueを返します(中断がなくなった後)。

4

2 に答える 2

2

onPause()メソッドとonResume()メソッドをオーバーライドする必要があります。

電話またはその他のイベントがアクティビティの実行を中断すると、onPause()が呼び出されます。

その後、アクティビティが再び続行されると、onResumeが実行されます。

于 2012-07-03T11:49:34.853 に答える
0

私のプログラムは、私のアクティビティの「履歴なし」オプションを「false」に設定するだけで済みます

  • マニフェスト、アプリケーション、アプリケーションノードで、アクティビティを選択します-

その後、アクティビティに再度戻ろうとしたときにonDestroy()が呼び出されないことがわかりました。期待どおりに、onResume()が呼び出されます。また、「configchanges」を「orientation」に設定します。

于 2012-07-05T07:35:02.857 に答える