gpt4 book ai didi

如果我使用 ACRA,则不会调用 Android UncaughtExceptionHandler

转载 作者:行者123 更新时间:2023-11-29 15:51:18 25 4
gpt4 key购买 nike

它适用于 Android 5.0,但不适用于 Jellybean 设备。

@ReportsCrashes(
formKey = "", // This is required for backward compatibility but not used
formUri = "dummyurl",
reportType = org.acra.sender.HttpSender.Type.JSON,
httpMethod = org.acra.sender.HttpSender.Method.PUT,
formUriBasicAuthLogin="adminTest",
formUriBasicAuthPassword="adminTest",
mode = ReportingInteractionMode.TOAST,
resToastText = R.string.crash_toast_text)
public class Application extends Application {

@Override
public void onCreate() {
super.onCreate();
init();
ACRA.init(this);
Thread.setDefaultUncaughtExceptionHandler(sUncaughtExceptionHandler);
}

private UncaughtExceptionHandler sUncaughtExceptionHandler = new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.i(LogTag, "uncaughtException: ");

dummyMethod();

Thread.getDefaultUncaughtExceptionHandler().uncaughtException(
thread, ex);
}
};
}

最佳答案

ACRA 设置自己的 UncaughtExceptioHandler 执行错误报告,然后委托(delegate)给之前存在的任何 UncaughtExceptionHandler。

因此,如果您希望在 ACRA 完成错误报告后调用 UncaughtExceptionHandler,则需要在调用 ACRA.init(this); 之前设置异常处理程序>

由于您要发送 Toast 通知,您还需要设置 forceCloseDialogAfterToast,因为假设 defaultExceptionHandler 是 Android 框架中的一个,它将显示强制关闭对话框,而您不想显示如果还显示 Toast。

关于如果我使用 ACRA,则不会调用 Android UncaughtExceptionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com