android - 使用 Crashlytics 在崩溃后重启应用

标签 android

是否可以使用 Crashlytics 在崩溃后自动重启应用程序?不幸的是,文档中没有关于该主题的内容。我定义了我自己的异常处理程序,它正在重新启动应用程序,但是当我使用它时,崩溃日志没有被发送。

最佳答案

在您的自定义异常处理程序中,您可以调用 Craslytics.logException(exception);

public class MyExceptionHandler implements Thread.UncaughtExceptionHandler {

    @Override
    public void uncaughtException(Thread thread, Throwable exception) {
        //you should also log the exception to logcat
        Log.e(TAG, "UncaughtException", exception);

        try {
            //log to crashlytics
            Crashlytics.logException(exception);
        } catch (Exception e) {
            Log.d(TAG, "uncaughtException: Crashlytics not initialized, cannot send logs.");
        }
        //exit with error code 1 (0 is normal program termination, 
        //which here is not the case)
        System.exit(1);
    }
}

值得注意的是 Crashlytics.logError(...) 将异常记录为“非致命”。所以我通常将它们包装起来,这样我就可以将非致命异常与实际致命异常区分开来。

所以:

Crashlytics.logException(exception);

变成:

//wrap the original exception to your custom 'fatal' exception type.
FatalException fatalException = new FatalException(originalException);
//log with Crashlytics
Crashlytics.logException(fatalException);

来自开源应用程序的示例 here .

关于android - 使用 Crashlytics 在崩溃后重启应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680973/

相关文章:

android - Activity没有调用finish? (API 23)

安卓 hdpi、xxhdpi、xxxhdpi。仅为单个目录提供可绘制对象?

android - 动态创建表格布局,根据屏幕尺寸自动适应单元格。

java - PHP 图片上传中途失败。已上传半张图片

android - 如何在 Android 中为微调器设置下拉列表参数?

android - ActionBarImpl 只能与兼容的窗口装饰布局一起使用

Android JUnit 测试因 java.lang.VerifyError 失败

android - 如何在 Android 中实现像 Facebook 和 Google 这样的通用登录

java - TextView 文本超出范围

Android 上的 Java 字节码注入(inject)