本项目是基于开源项目CustomActivityOnCrash进行ohos化的移植和开发的,可以通过项目标签以及github地址( https://github.com/Ereza/CustomActivityOnCrash )追踪到原项目版本
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
……
}
repositories {
maven {
url 'http://106.15.92.248:8081/repository/Releases/'
}
}
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 '。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。