なんらかの例外が原因でアプリケーションがクラッシュしたときに呼び出されるメソッド(またはそのようなもの)をオーバーライドできるかどうか疑問に思いました。
これを実行したいので、次にユーザーがログインすると、アプリがクラッシュし、バグができるだけ早く修正されるというメッセージが表示されます。
なんらかの例外が原因でアプリケーションがクラッシュしたときに呼び出されるメソッド(またはそのようなもの)をオーバーライドできるかどうか疑問に思いました。
これを実行したいので、次にユーザーがログインすると、アプリがクラッシュし、バグができるだけ早く修正されるというメッセージが表示されます。
とを使用Thread
しsetDefaultUncaughtExceptionHandler()
ます。
完全に機能する簡単な小さな解決策を見つけました:
アプリを作成したら、次のようにします。
// Ceck if the app crashed last time
if(this.getIO().readPrimitiveInternalMemoryBoolean(FileNames.SpaceDroid.CrashReport) == true) {
this.getGameLog().d(classTAG, "App crashed last time");
}
else {
this.getGameLog().d(classTAG, "App didn't crash last time");
}
// Flag the app as chrashed and when the app is exited, then mark it as false.
this.getIO().writePrimitiveInternalMemory(FileNames.SpaceDroid.CrashReport, true);
アプリが閉じられたら、次のようにします。
@Override
public void onDispose() {
super.onDispose();
this.getIO().writePrimitiveInternalMemory(FileNames.SpaceDroid.CrashReport, false);
}
try catch ステートメントを使用して、ログに情報を記録できます。また、Google Play は、本番環境でのアプリのクラッシュについて通知するメカニズムを提供します。