讨论广场 问答详情
被其他 UIAbility 拉起时如何获取调用方信息以及在页面中如何结束当前 UIAbility​?#智解鸿蒙
黑云寨谢宝庆 2025-12-18 08:10:52
22 评论 分享
harmonyos鸿蒙问答专区

目标 UIAbility 如何识别“是谁拉起了我”,以及在页面中如何优雅地终止当前实例。

22 评论 分享
写回答
全部评论(1)
2 楼

在被拉起的 UIAbilityB​ 的 onCreate(want: Want, launchParam)​ 中,系统会自动在 want.parameters​ 注入调用方信息,可直接读取:
ohos.aafwk.param.callerPid(调用方进程 ID)
ohos.aafwk.param.callerBundleName(调用方包名)
ohos.aafwk.param.callerAbilityName(调用方 Ability 名称)
示例:console.info(callerPid: ${want.parameters?.['ohos.aafwk.param.callerPid']})。
在页面中结束当前 UIAbility:先获取 UIAbilityContext,再调用 context.terminateSelf((err: BusinessError) => { ... });注意其为异步接口,需检查 err.code​ 判断成功与否。
 

2025-12-18 08:11:34