私の状況があります。彼らが何をしているかに関係なく、私は同じ活動を次々と行っています。アルファベットの最初から名前を付けましょう。ユーザーが私のアプリケーションを使用するとき、彼はアクティビティを通過し、それらの間に独自のパスを作成するため、戻るボタンでそれぞれの順序で戻ることができます。
彼は行為から始めます。A - D - F で、戻るボタンで F から D と A に戻ります。現在、Android システムがアプリケーションが使用されていないか、特定の時間に大量の RAM が必要であると判断すると、システムはそのアプリケーションを強制終了します。私の目標は、開いたアクティビティの順序を含め、アプリケーションを以前の状態に復元する方法を見つけることです。
わかりにくいかもしれないので、以下に例を示します。
ユーザーはアクティビティ A (ログイン) - D - F - G を開いて最小化し、しばらくするとアプリが強制終了されます。彼がこのアプリケーションを再び開始するとき、彼はアクティビティ A でログインする必要があり、アクティビティ G (= 彼は前回そこにいた) を見る必要がありません。また、戻るボタンを押すと、アクティビティ F、次にアクティビティ D を実行します。 on... 一連のアクティビティを復活させるようなものです。アクティビティ (D、F、G) に保存されているすべての情報を永続化する必要があることはわかっていますが、そのようなアプリの状態を永続化することは実際に可能ですか?
これについてのコメントをありがとう
解決:
アプリケーションの状態を識別するフラグを追跡しています。フラグが 0 の場合は、新しいアクティビティを正常に開いていることを意味します。各アクティビティの開始時に、すべてのアクティビティ履歴を含む共有設定文字列に入れました。各アクティビティには独自の ID があります (これも sharedPref)。別の共有設定では、onPause が発生したときに、文字列フォーミュラー データ (または GUI を使用したデータ) として保存しています。flag を 1 に設定します。アプリが起動し、flag が 1 のときに、sharedPref からアプリケーション スタックを復活させます。それぞれに別の共有設定からデータを設定します。以上で、アプリケーションの状態が復活します:-)