HarmonyOS 在应用启动的时候调用一个ets里面引用了上下文 启动会闪退
在 EntryAbility.ets 文件的
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
  this.getPermission(want);
  let status =  VpuMoreCardPicPreKV.initICCardRecognizer('');
}
调用了 VpuMoreCardPicPreKV 闪退,提示闪退原因 :
Pid:20507
Uid:20020081
Reason:TypeError
Error name:TypeError
Error message:Cannot read property filesDir of undefined
SourceCode:
  let filesDir = context.filesDir;
^
Stacktrace:
  at func_main_0 (library/src/main/ets/components/mainpage/VpuMoreCardPicPreKV.ets:14:16)
但是在Index.ets 内调用就正常获取上下文 context 不会发生闪退
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 从卡片启动的时候上下文会不会变? 
685浏览  • 0回复 待解决
OpenGL同一个上下文在多线程中使用问题 
2477浏览  • 1回复 待解决
HarmonyOS 使用napi方法返回一个对象,多次调用会闪退 
1494浏览  • 1回复 待解决
HarmonyOS 想在app启动的时候在某几个page里面执行一个方法 
1072浏览  • 1回复 待解决
无法从static上下文引用非static方法 
11498浏览  • 1回复 待解决
如何在普通ets文件中获取上下文Context 
2302浏览  • 1回复 待解决
如何获取应用上下文Context? 
1767浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中创建一个WebGL2上下文? 
1325浏览  • 1回复 待解决
HarmonyOS 获取上下文Context 
1336浏览  • 1回复 待解决
HarmonyOS  har包里面可以在上下文context 里面传递参数吗 
1236浏览  • 1回复 待解决
HarmonyOS 在class文件中,没有上下文的情况下弹出一个自定义Dialog 
994浏览  • 1回复 待解决
HarmonyOS 启动app时候总是会一闪而过app的图标 
1451浏览  • 1回复 待解决
HarmonyOS  应用启动的时候有启动页为什么还要闪一下LOGO?如何控制不闪LOGO 直接进入启动页? 
1963浏览  • 1回复 待解决
在鸿蒙中如何知道当前上下文的名字? 
728浏览  • 0回复 待解决
HarmonyOS C++ 调用 ets 层函数报错闪退 
1393浏览  • 1回复 待解决
上下文工具类的方法有哪些? 
1539浏览  • 1回复 待解决
HarmonyOS app启动时候,会有一个白屏,白屏中间是个启动图标。如何去掉? 
1558浏览  • 1回复 待解决
OpenGL多个上下文每次在切换后都要重新glBindTexture 
1433浏览  • 1回复 待解决
应用启动前会出现一个白屏。 
2697浏览  • 1回复 待解决
打开图库应用时偶尔会闪退 
3891浏览  • 0回复 待解决
HarmonyOS 希望 CustomDialog 可以在 UI 上下文不明确的地方 
1286浏览  • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS的应用上下文中,Context的继承体系是怎样的? 
812浏览  • 1回复 待解决
#鸿蒙通关秘籍#在UIAbility中如何获取UIAbilityContext上下文信息? 
1973浏览  • 1回复 待解决
HarmonyOS 如何在taskPool中的@Concurrent方法中获取应用Context上下文? 
1434浏览  • 1回复 待解决





















经分析是context上下文获取异常,可以在工具类中把外部的context 通过参数传入处理在工具类中没有对应的this环境,所以需要把外部的context封装过来
使用 new Class(uiAbilityContext)
完整代码:
1.方式一:调用方式 new VpuMoreCardPicPreKV(getContext(this) as common.UIAbilityContext).print()
定义方式
2.方式二:调用方式 VpuMoreCardPicPreKV22 .print()
定义方式