【问题标题】:How to replace standard error message?如何替换标准错误信息?
【发布时间】:2013-06-17 03:18:56
【问题描述】:

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

【问题讨论】:

  • 你不能。它是检测崩溃并生成消息的 Android 运行时。

标签: android error-handling crash forceclose


【解决方案1】:

实现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);
    }
}

【讨论】:

  • 感谢代码 sn-p。 :) 我只是想知道错误是否仍然发送到 playstore 的开发控制台?
  • 只有未处理的错误(即崩溃)将被发送到开发控制台。如果你在 uncaughtException() 中处理它并且从不调用 Thread.getDefaultUncaughtExceptionHandler().uncaughtException(),它不会被发送到开发控制台。
  • 这对崩溃分析也有帮助吗?
【解决方案2】:

这些错误通常是由于未处理的异常而显示的。如果您在程序开始时设置了未处理的异常处理程序,然后在其中显示您要查看的消息。

但是,我不完全确定,如果在您的消息显示是否还显示默认的 android 警报之后,但这可能就是您所追求的。

【讨论】:

  • 如果我们没有明确调用默认值,则不会显示它。
【解决方案3】:

我想这就是你要找的东西

ACRA - Application Crash Report for Android

网站概要

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

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

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

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

对话框:自 4.3.0b1 起,实验性的,允许在不需要状态栏通知的情况下显示崩溃对话框。

希望该链接有所帮助。

【讨论】:

  • 因此,您可以选择在应用失败时看到的四个(实际上是三个)Android 通知中的哪一个,但实际上您无法自定义其中的任何一个。这回答了与所问问题不同的问题 - “我如何更改文本”(即用他自己选择的文本替换它)。
  • 是的,这是完全不同的事情
  • 嘿,对此感到抱歉..我想念这个问题..以为你问过如何处理它..感谢您的纠正..
猜你喜欢
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 2015-07-01
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
  • 2021-05-05
相关资源
最近更新 更多