如何替换标准错误信息?
Posted
技术标签:
【中文标题】如何替换标准错误信息?【英文标题】:How to replace standard error message? 【发布时间】:2013-06-17 03:18:56 【问题描述】:当应用程序崩溃时,我们会看到类似您的精彩应用程序已停止。如何更改此文本?
【问题讨论】:
你不能。它是检测崩溃并生成消息的 android 运行时。 【参考方案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 通知中的哪一个,但实际上您无法自定义其中的任何一个。这回答了与所问问题不同的问题 - “我如何更改文本”(即用他自己选择的文本替换它)。 是的,这是完全不同的事情 嘿,对此感到抱歉..我想念这个问题..以为你问过如何处理它..感谢您的纠正..以上是关于如何替换标准错误信息?的主要内容,如果未能解决你的问题,请参考以下文章