首页 > 解决方案 > 在 uncaughtException 上启动新活动

问题描述

我知道有很多类似的问题,但我不明白为什么我的代码完全不起作用。我尝试通过这样的代码从异常处理程序开始新活动

class CrashHandler private constructor(private val context: Context) :
    Thread.UncaughtExceptionHandler {

    private val defaultHandler: Thread.UncaughtExceptionHandler =
        Thread.getDefaultUncaughtExceptionHandler()

    companion object {
        fun instalHandler(context: Context) {
            if (!(Thread.getDefaultUncaughtExceptionHandler() is CrashHandler)) {
                Thread.setDefaultUncaughtExceptionHandler(CrashHandler(context))
            }
        }
    }

    override fun uncaughtException(t: Thread?, e: Throwable?) {
        val intent = Intent(context, ExceptionActivity::class.java)
        (context as Activity).startActivity(intent)
    }
}

但我只获得黑屏。

标签: androidexception

解决方案


推荐阅读