2012-04-02 30 views
-2

私はいくつかの外部オープンソースプロジェクトを使用するアプリケーションを開発しました。今のところ、アプリケーションを強制的に閉じる場所がないことを確認しました。しかし、私は外部のオープンソースアプリケーションを考慮するチャンスを取ることを望んでいません。アプリケーションの強制が終了した場合に、アプリケーションを最初から再起動するようにしたいと思います。アンドロイド再起動アプリケーションを強制終了する

ネットで解決策を探しましたが、私が見つけた最高のものはhereでした。しかし、私は実際にそれを実装する方法を理解することができませんでした...

私は強制終了時に最初の画面を開く多くのアプリケーションを見てきました。

答えて

0

私はあなたがサービスを意味すると仮定しています。あなた自身が常に存在するアプリケーションをお持ちでしたら、私はあなたを嫌っています。しかし、サービスの場合は、START_STICKYフラグで開始してください。

public MyAmazingService extends Service { 
    @Override public int onStartCommand(Intent intent, int arg1, int arg2) { 
     // Doing some amazing stuff 
     return START_STICKY; 
    } 
} 
+0

:ちょうどこのようUncaughtExceptionHandleronCreateあなたのアプリケーションの内部メソッドを登録"無限ループ"を引き起こす可能性のある最初のアクティビティ –

+0

@RafaelTそれは私よりも良い仮定になります。いいですか? – AedonEtLIRA

+0

いいえそのサービスではない私はtalkin試合....予期せぬ力の面で閉じる私は、アプリケーションを閉じて再起動します。 – Vivekanand

2

あなたが投稿のリンクはそれを行うための方法です。 Android Applicationをまだ追加していない場合は、追加することをおすすめします。私は彼の内部のバグがある場合、彼はただ、...そうだね、それは例外で閉鎖されたときに生きている彼の活動を維持したいと思います

//Inside your ApplicationClass 
public void onCreate(){ 
    Log.v("MyApplication", "onCreate triggered") 
    Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(){ 
     public void uncaughtException(Thread thread, Throwable ex){ 
      Log.v("MyApplication", "onUncaughtException triggered. Error:") 
      ex.printStackTrace() 
      //restart your app here like this 
      Intent i = new Intent(this, TheClassYouWannaStart.class); 
      getApplicationContext().startActivity(i); 
     } 
    }); 
} 
+0

これはうまくいきません。 – Vivekanand

+0

Apllications.onCreateが実行されていることを確認しましたか?私の更新された答えのように内部にログを入れ、DDMS内でそれをチェックしてください –

+0

@vivekこれは実際にこれをアプリケーションクラスまたはアクティビティに配置していますか?これはアクティビティでは機能しません。 – AedonEtLIRA

関連する問題