6 Star 1 Fork 0

hihopeorg / CustomActivityOnCrash

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 5.69 KB
一键复制 编辑 原始数据 按行查看 历史
wangxing 提交于 2021-08-25 16:37 . add changelog and update version

CustomAbilityOnCrash

本项目是基于开源项目CustomActivityOnCrash进行ohos化的移植和开发的,可以通过项目标签以及github地址( https://github.com/Ereza/CustomActivityOnCrash )追踪到原项目版本

项目介绍

  • 项目名称:自定义应用崩溃时的页面
  • 所属系列:ohos的第三方组件适配移植
  • 功能:监听崩溃,自定义崩溃页面,设置重启的的目标页面,复制异常信息到剪贴板
  • 项目移植状态:完成
  • 调用差异:无
  • 项目作者和维护人:hihope
  • 联系方式:hihope@hoperun.com
  • 原项目Doc地址:https://github.com/Ereza/CustomActivityOnCrash
  • 原项目基线版本:v2.3.0
  • 编程语言:Java
  • 外部库依赖:无

效果预览

安装教程

方案一:
  1. 编译依赖包 library-release.har。
  2. 启动 DevEco Studio,将编译的har包,导入工程目录“entry->libs”下。
  3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下har包的引用。
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
	……
}
  1. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,并点击“OK”即引用成功。
方案二:
  1. 在工程的build.gradle的allprojects中,添加HAR所在的Maven仓地址
repositories {
    maven {
        url 'http://106.15.92.248:8081/repository/Releases/' 
    }
}
  1. 在应用模块的build.gradle的dependencies闭包中,添加如下代码:
dependencies {
    implementation 'cat.ereza.ohos:customactivityoncrash:1.0.1'
}

使用说明

1、初始化,在应用程序的AbilityPackage类中的onInitialize方法中添加如下代码

CustomAbilityOnCrash.install(this);

2、设置配置

CaocConfig.Builder.create()
        .backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT)
        .enabled(true)
        .showErrorDetails(true)
        .showRestartButton(true)
        .trackAbilities(true)
        .logErrorOnRestart(true)
        .minTimeBetweenCrashesMs(10000)
        .errorDrawable(ResourceTable.Media_icon)
        .restartAbility(MainAbility.class)
        .errorAbility(CustomErrorAbility.class)
        .eventListener(new CustomEventListener())
        .apply();

####下面是可以使用的每个选项的详细的说明CaocConfig.Builder:

backgroundMode(int);

这个方法定义当应用程序在后台崩溃时是否应该启动错误活动。 有三种模式:

  • CaocConfig.BACKGROUND_MODE_SHOW_CUSTOM: 即使应用程序在后台,也要启动错误活动。
  • CaocConfig.BACKGROUND_MODE_CRASH: 当应用程序在后台时,启动默认的系统错误。
  • CaocConfig.BACKGROUND_MODE_SILENT: 当应用程序在后台时无声崩溃。

默认值是CaocConfig.BACKGROUND_MODE_SHOW_CUSTOM.

enabled(boolean);

定义是否启用了CustomAbilityOnCrash崩溃拦截机制。 如果你想让CustomAbilityOnCrash拦截崩溃,设置为“true”, 如果您希望将它们视为未安装库则设置为“false”。 这可用于根据喜好或构建类型启用或禁用库。 默认值是' true '。

showErrorDetails(boolean);

这个方法定义了error活动是否必须显示一个带有错误细节的按钮。 如果您将其设置为' false',默认error活动上的按钮将消失,从而使用户无法看到堆栈跟踪。 默认值是' true '。

trackAbilities(boolean);

该方法定义库是否必须跟踪用户访问的活动及其生命周期调用。 这将作为错误详细信息的一部分显示在默认错误活动中。 默认值是' false '。

showRestartButton(boolean);

这个方法定义了error活动是必须显示“Restart app”按钮还是“Close app”按钮。 如果你将其设置为' false',默认error活动上的按钮将关闭应用程序,而不是重新启动。 如果你将其设置为“true”,并且你的应用程序没有启动活动,它仍然会显示“关闭应用程序”按钮! 默认值是' true '。

logErrorOnRestart(boolean);

这将控制在启动自定义错误活动时是否必须重新记录堆栈跟踪。 默认值是' true '。

minTimeBetweenCrashesMs(boolean);

定义应用程序崩溃之间必须经过的时间,以确定我们没有陷入崩溃循环。 如果崩溃发生的次数比上次少,则不会启动错误活动,并且会调用系统崩溃屏幕。 默认值是' 3000 '。

errorDrawable(Integer);

这个方法允许用你选择的图像来改变默认的错误图像。 默认值是' null '(使用错误图像)。

restartAbility(Class<? extends Ability>);

当按下重启应用按钮时,设置将要重启的页面,这需要与showRestartButton方法配合使用,只有同时将showRestartButton设置为true,且设置了restartAbility,才可正确启动应用(该ability需要在config.json中预先进行配置)

errorAbility(Class<? extends Ability>);

设置需要启动的自定义错误页面,而不是默认的错误页面,该页面需要在config.json中预先进行配置

eventListener(EventListener);

这个方法允许你指定一个事件监听器,以便在库显示错误活动、重启或关闭应用程序时得到通知。 您提供的EventListener不能是匿名或非静态的内部类,因为它需要由库序列化。如果试图设置无效类,库将抛出异常。 如果将其设置为' null ',则不会调用事件侦听器。 默认值是' null '。

版本迭代

  • v1.0.1

版权和许可信息

  • Apache Licence
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hihopeorg/CustomActivityOnCrash.git
git@gitee.com:hihopeorg/CustomActivityOnCrash.git
hihopeorg
CustomActivityOnCrash
CustomActivityOnCrash
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891