2012-06-05 24 views
7

Thread.UncaughtExceptionHandlerを使用してAndroidでクラッシュが発生したときにアプリを再起動しようとしています。現在のアクティビティスタックを新しいプロセスとしてアプリを再起動できますか?はいの場合、どうすればいいですか?Androidアプリケーションを再起動する

答えて

1

1つの方法は、アクティビティのonPauseメソッドをオーバーライドしてアプリを終了させることです。このように:

public class MyActivity extends Activity { 
    @Override 
    public void onPause() { 
     finish(); 
    } 
+0

上記のコードは、対応するアクティビティriteを終了しますか?私はプロセスandroid.os.Process.killProcess(android.os.Process.myPid())を殺すために次のコードを使用しました。 – PgmFreek

+0

ああ、あなたはプロセスを殺すためにしようとしていると、プロセスが殺された直後に再びアプリを起動するのですか? –

+0

はい...プロセスを終了した後、私はアラームマネージャを使用してアプリケーションを起動しました...しかし、私の質問は、以前のプロセスのアクティビティスタックでアプリケーションを起動できますか? – PgmFreek

0

私の知る限りでは、あなたのプロセスを強制終了すると、ガベージコレクタが実行され、メモリが解放されます消費し、あなたのアプリに属する​​すべてのオブジェクトは、それがすべてのオブジェクトがありますですヌル値。したがって、前のプロセスのアクティビティスタックトレースでアプリを起動することはできません。

+0

現在のプロセスのアクティビティスタックを削除する前に取得できますか? – PgmFreek

+1

このリンクをご覧ください。あなたに役立つかもしれません:http://stackoverflow.com/questions/10043246/retrieving-the-navigation-history-for-the-current-running-application – Shrikant

関連する問題