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('');
}
- 1.
- 2.
- 3.
- 4.
- 5.
调用了 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)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
但是在Index.ets 内调用就正常获取上下文 context 不会发生闪退
HarmonyOS
赞
收藏 0
回答 1
相关问题
OpenGL同一个上下文在多线程中使用问题
1434浏览 • 1回复 待解决
HarmonyOS 使用napi方法返回一个对象,多次调用会闪退
562浏览 • 1回复 待解决
HarmonyOS 想在app启动的时候在某几个page里面执行一个方法
568浏览 • 1回复 待解决
无法从static上下文引用非static方法
10511浏览 • 1回复 待解决
如何获取应用上下文Context?
1047浏览 • 1回复 待解决
如何在普通ets文件中获取上下文Context
1577浏览 • 1回复 待解决
HarmonyOS 获取上下文Context
579浏览 • 1回复 待解决
HarmonyOS har包里面可以在上下文context 里面传递参数吗
435浏览 • 1回复 待解决
HarmonyOS 在class文件中,没有上下文的情况下弹出一个自定义Dialog
521浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中创建一个WebGL2上下文?
626浏览 • 1回复 待解决
HarmonyOS 启动app时候总是会一闪而过app的图标
449浏览 • 1回复 待解决
HarmonyOS 应用启动的时候有启动页为什么还要闪一下LOGO?如何控制不闪LOGO 直接进入启动页?
771浏览 • 1回复 待解决
HarmonyOS C++ 调用 ets 层函数报错闪退
633浏览 • 1回复 待解决
HarmonyOS app启动时候,会有一个白屏,白屏中间是个启动图标。如何去掉?
561浏览 • 1回复 待解决
打开图库应用时偶尔会闪退
2952浏览 • 0回复 待解决
上下文工具类的方法有哪些?
756浏览 • 1回复 待解决
应用启动前会出现一个白屏。
1809浏览 • 1回复 待解决
HarmonyOS 希望 CustomDialog 可以在 UI 上下文不明确的地方
692浏览 • 1回复 待解决
OpenGL多个上下文每次在切换后都要重新glBindTexture
649浏览 • 1回复 待解决
crash闪退时能保存状态并重新恢复启动
1817浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS的应用上下文中,Context的继承体系是怎样的?
312浏览 • 1回复 待解决
HarmonyOS 使用Webview会闪退
436浏览 • 1回复 待解决
#鸿蒙通关秘籍#在UIAbility中如何获取UIAbilityContext上下文信息?
620浏览 • 1回复 待解决
HarmonyOS 如何在taskPool中的@Concurrent方法中获取应用Context上下文?
679浏览 • 1回复 待解决
经分析是context上下文获取异常,可以在工具类中把外部的context 通过参数传入处理在工具类中没有对应的this环境,所以需要把外部的context封装过来
使用 new Class(uiAbilityContext)
完整代码:
1.方式一:调用方式 new VpuMoreCardPicPreKV(getContext(this) as common.UIAbilityContext).print()
定义方式
2.方式二:调用方式 VpuMoreCardPicPreKV22 .print()
定义方式