HarmonyOS 如何动态获取当前页面

有一个网络请求的通用错误处理,任何接口请求都用可能触发某类型的业务错误,比如任何接口都有可能触发补充的安全验证流程、或者触发拉起用户的登录流程、或者触发一个统一的弹框给用户相应的提示。

在之前平台上我们可以方便的获取当前页面对象(UIVIewController对象)然后在当前的页面对象上做push到下一个页面、弹框提示等UI相关的操作,这些通用的处理都在我们的网络框架里做统一的处理。

但在HarmonyOS上网络请求的har如何实现基于当前页面的统一的UI相关的操作呢?麻烦给予一下指导。

HarmonyOS
2024-09-03 09:13:04
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

基于您提供的应用场景,目前除了通过调用处传入的方式获取到当前的页面context,还可以通过:

import { common } from '@kit.AbilityKit' 
 
export class Utils { 
  request() { 
    let tree = getInspectorTree() 
    let context = getContext(tree) as common.UIAbilityContext 
    context.startAbility({ 
      bundleName: 'xxx.xxx.xxx', 
      abilityName: 'xxxAbility' 
    }) 
    console.log("") 
  } 
}

目前在API 11之后,getContext支持不传入参数,开发者您可以直接调用来获取对应Context,样例代码如果下:

export class Utils { 
  request() { 
    let context = getContext() as common.UIAbilityContext 
    context.startAbility({ 
      bundleName: 'xxx.xxx.xxx', 
      abilityName: 'xxxAbility' 
    }) 
    console.log("") 
  } 
}
分享
微博
QQ
微信
回复
2024-09-03 15:34:49
相关问题
WebView支持获取当前页面url吗?
648浏览 • 1回复 待解决
Web中加载网页后获取当前页面和url
789浏览 • 1回复 待解决
鸿蒙注销当前页面是哪个方法?
8231浏览 • 1回复 已解决
HarmonyOS如何获取手机当前音量
178浏览 • 1回复 待解决
HarmonyOS如何获取当前的网络状态
206浏览 • 1回复 待解决
如何通过JS动态引入页面?
2247浏览 • 1回复 待解决
HarmonyOS如何获取当前app版本号和code
203浏览 • 1回复 待解决
如何获取当前HAP的BundleName
2018浏览 • 1回复 待解决
如何获取当前HAP的BundleName?
196浏览 • 1回复 待解决
如何获取当前设备的宽度?
329浏览 • 1回复 待解决
ArkTs如何跳转当前应用的设置页面
2037浏览 • 1回复 待解决
如何动态根据资源名获取资源id
8233浏览 • 1回复 已解决
如何获取当前设备的设备名称
1878浏览 • 1回复 待解决
求告知如何获取当前定位
185浏览 • 1回复 待解决
openHarmony 如何获取当前线程信息?
3080浏览 • 1回复 待解决