fix:修复首次进入随机进密码房弹dialog导致闪退问题

This commit is contained in:
2022-09-07 13:09:40 +08:00
parent 9cb4714b78
commit 818e04c687
3 changed files with 34 additions and 7 deletions

View File

@@ -1,8 +1,16 @@
package com.shayu.phonelive;
import android.app.Application;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.widget.Toast;
import com.yunbao.common.utils.FileUtil;
import java.io.File;
import java.io.PrintWriter;
import java.io.StringWriter;
/**
* @ClassName NeverCrashUtils
@@ -86,6 +94,8 @@ public class NeverCrashUtils {
if (isDebugMode()) {
Log.e(TAG, "未捕获的主线程异常行为", e);
}
Toast.makeText(application, "发生闪退", Toast.LENGTH_SHORT).show();
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()),throwableToString(e),"error.log");
getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
}
}
@@ -96,7 +106,11 @@ public class NeverCrashUtils {
if (isDebugMode()) {
Log.e(TAG, "未捕获的子线程异常行为", e);
}
Toast.makeText(application, "发生闪退", Toast.LENGTH_SHORT).show();
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()),throwableToString(e),"error.log");
getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
getUncaughtCrashHandler().uncaughtException(t, e);
});
}
@@ -107,4 +121,10 @@ public class NeverCrashUtils {
public interface UncaughtCrashHandler {
void uncaughtException(Thread t, Throwable e);
}
private static String throwableToString(Throwable e) {
StringWriter writer=new StringWriter();
PrintWriter printWriter=new PrintWriter(writer);
e.printStackTrace(printWriter);
return "[ERROR]"+writer.toString();
}
}