7

問題のアプリケーションは既にデプロイされています。私はACRAについて知りました。それを追加して、アプリケーションのクラッシュが発生している理由を調べます。

ただし、私の問題は、アプリケーションがクラッシュすることです(ダイアログが表示され、「強制終了」または「待機」のオプションが表示されます)が、アプリケーションを完全に再起動するのではなく、クラッシュが発生する前の時点から再開します。ただし、これにより問題が発生し、アプリケーションを再起動することによってのみ修正されます (たとえば、データの突然の損失、意味のないクラッシュなど)。

では、クラッシュしたアプリケーションを強制的に終了させるにはどうすればよいでしょうか? (再起動しないでください)。

編集: 最大の問題は、アプリケーションがクラッシュした後、アプリが再起動されて再起動されるまで、設定ファイル内のすべてのデータが消えることです。

4

2 に答える 2

5

デフォルトでは、Android は最後のアクティブなアクティビティを再開します。強制的に再起動するのではなく、データが利用できない場合でもアクティビティがクラッシュしたり正常に終了したりしないように、アプリケーションを修正することをお勧めします。一部のデータ (インテント エクストラ) に完全に依存していて、デフォルトがない場合はfinish()、それが利用できない場合に呼び出すか、メイン/親アクティビティを開始することができます。

もう 1 つの方法は、ACRA を使用してクラッシュを報告した後、メイン アクティビティなどを再起動する独自のデフォルトの例外ハンドラを用意することです (ACRA のバグトラッカーにこの機能のリクエストがあると思います)。

于 2011-11-16T16:45:47.807 に答える