我在自己的android应用程序中使用了自定义异常处理程序,因此只要该应用程序崩溃,就会调用其覆盖的方法uncaughtException(Thread t, Throwable e)
。在这种方法中,我要启动一个活动,提示用户将错误日志发送给开发人员。
但是问题是,我没有任何上下文来开始活动。我还尝试将先前活动的上下文传递给该方法,但是由于崩溃后应用程序停止运行,该上下文也消失了,因此无法使用该活动启动该活动。
这是我的应用程序类的onCreate方法
@Override
public void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
Intent i = new Intent(QuickTatkalApp.this, HomeActivity.class);
startActivity(i);
}
});
}
此后我得到的是每当应用程序崩溃时,应用程序中只会显示空白的空白屏幕。
答案 0 :(得分:1)
尝试创建一个从Application
扩展的类,如下所示
public final class MyAppApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
//start your activity here with Application#packageContext
//just calling "this"
}
});
}
}