HarmonyOS-ability唤起

117 阅读1分钟

一、如何设置模块中默认的ability 在module.json5文件中,给对应的ability添加exported和skills标签

{
  "name": "xxx模块",
  "srcEntry": "./ets/playability/PlayAbility.ets",
  "description": "$string:PlayAbility_desc",
  "icon": "$media:layered_image",
  "label": "$string:PlayAbility_label",
  "startWindowIcon": "$media:startIcon",
  "startWindowBackground": "$color:start_window_background",
  
  ///添加以下标签使ability成为该模块默认启动窗口
  "exported": true,
  "skills": [
    {
      "entities": [
        "entity.system.home"
      ],
      "actions": [
        "action.system.home"
      ]
    }
  ]
}

二、如何唤起其他ability(多窗口) 1、准备want作为ability的启动参数

let wantInfo: Want = {
  deviceId:"",//目标设备,空代表本设备
  bundleName:"com.xxx.myapplication",//包名
  moduleName:"entry",//模块名
  abilityName:"EntryAbility",//ability名
  parameters:{} //传入参数
}

2、利用上下文context 调用startAbility传入want参数

//获取上下文对象
let context = getContext(this) as common.UIAbilityContext
//唤起ability
context.startAbility(wantInfo)