被其他 UIAbility 拉起时如何获取调用方信息以及在页面中如何结束当前 UIAbility?#智解鸿蒙
harmonyos鸿蒙问答专区
目标 UIAbility 如何识别“是谁拉起了我”,以及在页面中如何优雅地终止当前实例。
您需要先 登录 才能评论/回答
全部评论(1)
在被拉起的 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