-2

外部のオープン ソース プロジェクトを使用するアプリケーションを開発しました。今のところ、アプリケーションが強制終了する場所がないことを確認しました。ただし、外部のオープンソース アプリを考慮してチャンスを逃したくはありません。万一アプリケーションが強制終了した場合に備えて、アプリケーションを最初から再起動するようにしたいと考えています。

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

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

4

2 に答える 2

2

あなたが投稿したリンクはそれを行う方法です。まだ存在しない場合は、Androidアプリケーションを追加することをお勧めします。次のように、 UncaughtExceptionHandlerをアプリケーションonCreateメソッド内に登録します。

//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);
         }
    });
}
于 2012-04-02T15:14:07.357 に答える
0

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

public MyAmazingService extends Service {
    @Override public int onStartCommand(Intent intent, int arg1, int arg2) {
        // Doing some amazing stuff
        return START_STICKY;
    }
}   
于 2012-04-02T15:05:18.583 に答える