[文章]HarmonyOS-应用崩溃框架捕获与恢复组件体验

阅读量0
0
0
Recovery捕获应用崩溃框架,并能恢复崩溃页面
1.安装教程
在项目根目录下的build.gradle文件中添加。
  1. allprojects {   
  2. repositories {        
  3. maven {            
  4. url'https://s01.oss.sonatype.org/content/repositories/releases/'        
  5. }   
  6. }}
复制代码

entry模块下的build.gradle文件中添加依赖。
  1. dependencies {       implementation('com.gitee.chinasoft_ohos:Recovery:1.0.1')}
复制代码
sdk6DevEco Studio2.2 beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
使用说明

entry下的MyApplication中调用
  1. public class MyApplication extends AbilityPackage {
  2.     @Override
  3.     public void onInitialize() {
  4.         super.onInitialize();
  5.         Recovery.getInstance()
  6.                 .debug(true)
  7.                 .recoverInBackground(false)
  8.                 .recoverStack(true)
  9.                 .mainPage(MainAbility.class)
  10.                 .recoverEnabled(true)
  11.                 .callback(new MyCrashCallback())
  12.                 .silent(false, Recovery.SilentMode.RECOVER_ACTIVITY_STACK)
  13.                 .skip(TestAbility.class)
  14.                 .init(this);
  15.     }

  16.     static final class MyCrashCallback implements RecoveryCallback {
  17.         @Override
  18.         public void stackTrace(String exceptionMessage) {
  19.             RecoveryLog.e("exceptionMessage:" + exceptionMessage);
  20.         }
  21.         @Override
  22.         public void cause(String cause) {
  23.             RecoveryLog.e("cause:" + cause);
  24.         }
  25.         @Override
  26.         public void exception(String exceptionType, String throwClassName, String throwMethodName, int throwLineNumber) {
  27.             RecoveryLog.e("exceptionType:" + exceptionType);
  28.             RecoveryLog.e("throwClassName:" + throwClassName);
  29.             RecoveryLog.e("throwMethodName:" + throwMethodName);
  30.             RecoveryLog.e("throwLineNumber:" + throwLineNumber);
  31.         }
  32.         @Override
  33.         public void throwable(Throwable throwable) {

  34.         }
  35.     }

  36. }
复制代码

2.重启功能需要在entry模块的config.jsonmodule 加入属性mainAbility
  1. "module": {  "mainAbility" : "启动页的路径",   .....}
复制代码

3. 组件完整代码地址
4.附件:

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友