HarmonyOS 在自己定义的方法中如何获取let context: Context = getContext\(this\) as common.UIAbilityContext;?

在web的javaScriptProxy中提供了导航的方法,在点击web的界面调用导航的时候,需要验证是否有开启获取位置的权限。再自己定义的javaScriptProxy中的方法如何获取let context: Context = getContext(this) as common.UIAbilityContext。

阅读 460
1 个回答

可以使用全局函数来保存起来,使用的时候获取。

export class GlobalContext {
  private constructor() { }
  private static instance: GlobalContext;
  private _objects = new Map<string, Object>();

  public static getContext(): GlobalContext {
    if (!GlobalContext.instance) {
      GlobalContext.instance = new GlobalContext();
    }
    return GlobalContext.instance;
  }

  getObject(value: string): Object | undefined {
    console.log(typeof (this._objects.get(value)))
    return this._objects.get(value);
  }

  setObject(key: string, objectClass: Object): void {
    this._objects.set(key, objectClass);
  }
}

保存:

GlobalContext.getContext().setObject('UiContext', UiContext); 

获取

let uiContext = GlobalContext.getContext().getObject('UiContext') as common.UIAbilityContext
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进