Android 在未捕获异常后尝试启动特定活动时应用程序挂起

Android 在未捕获异常后尝试启动特定活动时应用程序挂起,android,android-intent,exception-handling,uncaughtexceptionhandler,Android,Android Intent,Exception Handling,Uncaughtexceptionhandler,我有以下代码来处理任何未捕获的异常,并从初始屏幕重新启动应用程序,因为我在初始屏幕中执行了大量初始化。这是我的启动屏幕 现在,我有了以下代码: @Override public void uncaughtException(Thread thread, Throwable ex) { // restart Application Log.e("OSRAM Lightify", "LightifyApplication: UNCAUGHT EXCEPTION

我有以下代码来处理任何未捕获的异常,并从初始屏幕重新启动应用程序,因为我在初始屏幕中执行了大量初始化。这是我的启动屏幕

现在,我有了以下代码:

@Override
    public void uncaughtException(Thread thread, Throwable ex) {
        // restart Application
        Log.e("OSRAM Lightify", "LightifyApplication: UNCAUGHT EXCEPTION FOUND: \n" + ex.getStackTrace());

        Intent reStartIntent = getBaseContext().getPackageManager()
                .getLaunchIntentForPackage(getBaseContext().getPackageName());
        reStartIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(reStartIntent);


    }
而是挂在星光大道上;屏幕变成空白


有人能帮我了解一下这里发生了什么吗?

可能有很多原因造成这种情况-在这之后,你想重新开始,就像这样:

@Override
public void uncaughtException(final Thread thread, final Throwable ex) {

    LOG.error("", ex);

    installRestartIntent();

    System.exit(2);
}

private void installRestartIntent() {

    Intent rescueIntent = getBaseContext().getPackageManager()
            .getLaunchIntentForPackage(getBaseContext().getPackageName());
    rescueIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    final PendingIntent pendingIntent = PendingIntent.getActivity(application,
                                                                  0,
                                                                  rescueIntent,
                                                                  rescueIntent.getFlags());
    final AlarmManager alarmManager = (AlarmManager) application.getSystemService(Context.ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC, DateTime.now().plusSeconds(1).getMillis(), pendingIntent);
}

编辑:小心-某些崩溃可能会导致循环-您可能需要检查此项

我的崩溃是一个空指针异常,我的代码也有同样的问题。发生的是相同的异常在循环中被抛出。我如何处理它取决于堆栈跟踪