15

アプリケーションがアイドル状態のとき、Android はプロセスを強制終了します。ユーザーがしばらくしてからアプリケーションを再度開くと、最上位のアクティビティのみが作成されます。これは、アクティビティが他のオブジェクト (現在は破棄されている) の初期化に依存しているため、私にとっては問題です。

その場合にやりたいことは、アプリケーションを再起動することです。どうやってやるの?

4

3 に答える 3

9

Application以前にAndroidによって破棄された後に起動されていることを確認するだけで、変数をカスタムApplicationクラスに保持しtrue、アプリケーションの初期化後に設定することでこれを行うことができます. そのため、アプリケーションが再起動されると、このフラグは false になり、次のように指定Intentしてメインを起動するようにします。ActivityFLAG_ACTIVITY_CLEAR_TOP

Intent reLaunchMain=new Intent(this,MainActivity.class);
reLaunchMain.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(reLaunchMain);
于 2012-07-24T07:26:03.863 に答える
1

この答えはあなただけのものだと思います。

進行状況が終了したら、これを呼び出します

        finish();
        Intent intent = new Intent(this, sameactivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
于 2013-01-04T06:08:49.803 に答える
0

Applicationおそらく、アプリのクラスの実装にそのようなオブジェクトを格納することを検討する必要があります。

これらのオブジェクトに、より永続的である必要がある状態が含まれている場合、そのようなオブジェクトの状態を各アクティビティのonPause()メソッドで、データベース、SharedPreferences、またはリモートのいずれかに保存する必要があります。

于 2012-07-24T07:24:10.083 に答える