HarmonyOS 使用UIAbilityContext类报错?

在代码中判断是否是UIAbilityContext类型,通过引入common(import { common } from '@kit.AbilityKit')后仍然使用 UIAbilityContext 报错,使用代码如下

import { common } from '@kit.AbilityKit'
 ...
 if (this.context instanceof common.UIAbilityContext) {

}

报错内容:

1 ERROR: ArkTS:ERROR File: /Users/john/Desktop/Projects/Harmony/ICC_GLDigitalKeySDK_15/Projects/GLDigitalKey15Demo/GLDigitalKey15/src/main/ets/Utils/BackgroundTaskLauncher.ets:41:33
Cannot use namespace 'common' as a value.
阅读 577
1 个回答

“instanceof”表达式右侧必须为“any”类型或可分配给“Function”接口类型的类型,只能判断new出来的对象。参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5\#部分支持instanceof运算符

而且这里为什么要判断context 是否为common.UIAbilityContext呢,一般是这个代码直接获取的。

private context = getContext(this) as common.UIAbilityContext;

这个代码获取到的即为common.UIAbilityContext类型,如果不是的话是会报错的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进