Android 崩溃不应显示任何错误

Android 崩溃不应显示任何错误,android,runtime-error,Android,Runtime Error,在Android中,出现错误时会提示运行时错误对话框。有可能把它藏起来吗?或者只是在生产模式下隐藏它?因为它显示了一些关于应用程序的错误消息,不应该向用户公开。您应该避免应用程序达到强制关闭状态,当你的应用程序以强制关闭结束时,你的主线程被终止,你的应用程序不再运行,并且在编码中无法访问,因此你可以创建另一个线程,处理情况,并向用户显示自定义对话框 也许在Github中可以帮助您处理此问题。您可以在主线程上使用Thread.setDefaultUncaughtExceptionHandler(…

在Android中,出现错误时会提示运行时错误对话框。有可能把它藏起来吗?或者只是在生产模式下隐藏它?因为它显示了一些关于应用程序的错误消息,不应该向用户公开。

您应该避免应用程序达到强制关闭状态,当你的应用程序以强制关闭结束时,你的主线程被终止,你的应用程序不再运行,并且在编码中无法访问,因此你可以创建另一个线程,处理情况,并向用户显示自定义对话框


也许在Github中可以帮助您处理此问题。

您可以在主线程上使用
Thread.setDefaultUncaughtExceptionHandler(…)
为未捕获异常设置自定义处理程序。在那里,您可以执行需要执行的操作,包括在使用以下模式时调用默认行为:

public class ExceptionHandler implements UncaughtExceptionHandler
{
    /**
     * The default handler.
     */
    private UncaughtExceptionHandler defaultUEH;

    /**
     * Constructs the instance and sets the default handler to the one currently
     * active at the time of construction.
     */
    public ExceptionHandler() 
    {
        this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
    }

    @Override
    public void uncaughtException(Thread thread, Throwable ex)
    {
        // do your stuff            

        // if you want to resume with the default behaviour, you call this
        defaultUEH.uncaughtException(thread, ex);
    }
}
活动中
/
应用程序中

Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler());

不,这是不可能的。一般来说,摆弄系统/UI/等的标准行为被认为是不好的做法,在许多情况下,操作系统会强制执行一致的行为(个人而言,例如,我讨厌一个“无声崩溃”的应用程序…),如果你有意识地将易出错的代码片段放入try-catch块中,那么你的应用程序将永远不会显示这种错误对话框。