まず、コードを直接チョン再起動を投稿しました:
Intent intentReStrat = getIntent();
finish();
startActivity(intentReStrat);
私たちはそれぞれのマークのログライフサイクルを見て、これは単純なコードは実際には3行であることだが、私は、そのような時間のライフサイクルとしてonDestoryで行った場合よりも、私たちは、実際に使用することは、いくつかの間違ったがあることがわかりますとき
LogUtil.chunyLog().d("onCreat"+ this);
ライフサイクルの各における活性は、このログを持っている(プラス新しい2段階のプロセスが新しいと破壊を生成することがあるので、この背後に、異なる活動で再起動を見ることです)
OK、残りはアップ書き込みにリセットコードの先頭でボタンのクリックイベントを取得することです
実行するためにいくつかを追加します。。。
まず、次があるでしょう。
まず、あなたはこれらのGoがonCreat ONSTART onResume言うまでもなく、我々はhoum後ろに見、言うことを見ることができます
@これは、この活動に固有のものです1ecbcf6f
次に、ボタンをクリックし、Acticityを再起動します。
その後、我々は真剣に見なければならない、と我々は(@ 1ecbcf6f)私はAty1に言っ活動の便宜のために前に置きます
その後、新しい@ 2005b14fように理解するような新しいAty2など一顧
OK、次に何が起こったの回復を
私たちは、ボタンをクリックすると、Aty1行くonPauseは、最初の中断します
その後Aty2なくなっonCreat ONSTART onResume 3つが正常に作成します
プラスAty1はonStop onDestoryが殺されたダウン
あなたが見ることができると、新しい創造は、私たちがここになることonStopとonDestoryのATY ATYに行ってきました
私はバインディングサービスだったので、問題は、それぞれの状況では、異なっています
呼び出しはonDestoryのATYになった後、私はATYになり、再起動を実行した後に行うことで来ていないデフォルトを復元ATYを再起動すると、デフォルトの方法を復元するサービスの内部で呼び出すonDestoryでは、これが問題の原因となりますもの、そうではないん
ソリューション:
みんなのソリューションは、真として保存(ASDと呼ばれる)ブール変数内のSPを保存する時にボタンをクリックして、私はSPとあった、同じではありません
次に、メソッド呼び出しサービスonDestoryは、それがtrueの場合、サービス方法、および割り当て偽のASDを呼び出すことはありません、ASDそこにあります
そして、私たちが何をシミュレートすることができますのでこと、方法は終了他の内部を実行します
ATYは退出ASDまでの時間に来false(デフォルト)であるので、それはボタンのクリックであれば、それは最初に、退出復旧方法にサービス終了他のコールを行きます
その後、トラブルレビューが一緒に進行を教え、よりよいがある場合、これは、私の解決策である、ない歩行サービス復元方法はないであろう真として保存ASD。