gpt4 book ai didi

java - 安卓/Java : UncaughtExceptionHandler and Bugsnag in parallel?

转载 作者:行者123 更新时间:2023-12-02 10:20:24 25 4
gpt4 key购买 nike

我正在使用 Bugsnag 进行自动错误报告,并且希望在应用崩溃时执行一些其他操作,例如重新启动。

问题:两者都单独工作,但没有结合起来。一旦我添加 MyUncaughtExceptionHandlerBugsnag 就会停止报告。

应用程序

public class App extends Application {
@Override
public void onCreate() {
super.onCreate();

Bugsnag.init(this);

// "Breaks" Bugsnag:
Thread.setDefaultUncaughtExceptionHandler(
new MyUncaughtExceptionHandler(this, MainActivity.class));
}
}

MyUncaughtExceptionHandler

public class MyUncaughtExceptionHandler implements
java.lang.Thread.UncaughtExceptionHandler {

private final Context mContext;
private final Class<?> mActivityClass;

public MyUncaughtExceptionHandler(Context context, Class<?> c) {
mContext = context;
mActivityClass = c;
}

public void uncaughtException(Thread thread, Throwable exception) {
Bugsnag.notify(exception);
Intent intent = new Intent(mContext, mActivityClass);
mContext.startActivity(intent); // restarts the app

Process.killProcess(Process.myPid());
System.exit(0);
}
}

我已经尝试在 MyUncaughtExceptionHandler 中调用 Bugsnag.notify(exception)

有什么想法吗?提前致谢!

最佳答案

我在这里发现了您的帖子,但如果您想要有保证的回复,请务必通过 Bugsnag 支持与我们联系。

问题是当您调用Thread.setUncaughtExceptionHandler时,您将删除 Bugsnag 在此处设置的处理程序: https://github.com/bugsnag/bugsnag-android/blob/2308eb6c706f66495dea116acf619f695530dff4/sdk/src/main/java/com/bugsnag/android/ExceptionHandler.java#L31

您需要调用原始处理程序才能让 Bugsnag 检测到任何内容。

请注意,我们通常不建议在 Android 应用中终止进程并启动新 Intent 。

关于java - 安卓/Java : UncaughtExceptionHandler and Bugsnag in parallel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54385405/

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