如何替换标准错误信息?

时间:2013-06-20 09:59:19

标签: android error-handling crash forceclose

当应用程序崩溃时,我们可以看到类似你的精彩应用程序已停止。我该如何更改此文本?

3 个答案:

答案 0 :(得分:3)

由于未处理的异常,通常会显示这些错误。如果在程序开头设置未处理的异常处理程序,然后在那里显示要查看的消息。

我不完全确定,如果你的消息显示是否也显示了默认的android警报,但这可能就是你所追求的。

答案 1 :(得分:3)

实施UncaughtExceptionHandler并将其分配给您的Application

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

        Thread.setDefaultUncaughtExceptionHandler(new CrashHandler());
    }
}

public final class CrashHandler implements UncaughtExceptionHandler {
    private final UncaughtExceptionHandler handler;

    public CrashHandler() {
        // Uncomment this line if you want to show the default app crash message
        //this.handler = Thread.getDefaultUncaughtExceptionHandler();
    }

    @Override
    public void uncaughtException(final Thread thread, final Throwable throwable) {
        // Show pretty message to user

        // Uncomment this line to show the default app crash message
        //this.handler.uncaughtException(thread, throwable);
    }
}

答案 2 :(得分:0)

我认为这就是你要找的东西

ACRA - Application Crash Report for Android

网站摘要

  

发生崩溃时,您可以选择并配置4种与用户交互的方式:

     

无声(默认):ACRA操作不可见。发送崩溃报告,然后默认的android崩溃系统完成其工作(强制关闭对话框)

     

Toast:发生崩溃时,ACRA会显示一个Toast并同时发送报告。

     

通知:应用程序崩溃时会显示可选的Toast,但不会立即发送报告。发布状态栏通知,警告用户他应该发送报告。选择后,通知会显示一个对话框,要求授权发送报告,并带有可选的用户注释。

     

对话框:自4.3.0b1开始实验,允许显示崩溃对话框而无需状态栏通知。

希望链接有所帮助。