harmony 鸿蒙@ohos.app.ability.ChildProcessArgs (子进程参数)

  • 2025-06-12
  • 浏览 (3)

@ohos.app.ability.ChildProcessArgs (子进程参数)

传递到子进程的参数。childProcessManager启动子进程时,可以通过ChildProcessArgs传递参数到子进程中。

说明:

本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

导入模块

import { ChildProcessArgs } from '@kit.AbilityKit';

ChildProcessArgs

系统能力:SystemCapability.Ability.AbilityRuntime.Core

名称 类型 必填 说明
entryParams string 开发者自定义参数,透传到子进程中。可以在ChildProcess.onStart方法中通过args.entryParams获取,entryParams支持传输的最大数据量为150KB。
fds Record 文件描述符句柄集合,用于主进程和子进程通信,通过key-value的形式传入到子进程中,其中key为自定义字符串,value为文件描述符句柄。可以在ChildProcess.onStart方法中通过args.fds获取fd句柄。
说明:
- fds最多支持16组,每组key的最大长度为20字符。
- 传递到子进程中句柄数字可能会变,但是指向的文件是一致的。

示例:

示例中的context的获取方式请参见获取UIAbility的上下文信息

// 主进程中:
import { common, ChildProcessArgs, childProcessManager } from '@kit.AbilityKit';
import { fileIo } from '@kit.CoreFileKit';

@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        Text('Click')
          .fontSize(30)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
            let path = context.filesDir + "/test.txt";
            let file = fileIo.openSync(path, fileIo.OpenMode.READ_ONLY|fileIo.OpenMode.CREATE);
            let args: ChildProcessArgs = {
              entryParams: "testParam",
              fds: {
                "key1": file.fd
              }
            };
            childProcessManager.startArkChildProcess("entry/./ets/process/DemoProcess.ets", args);
          });
      }
      .width('100%')
    }
    .height('100%')
  }
}
// 子进程中:
import { ChildProcess, ChildProcessArgs } from '@kit.AbilityKit';

export default class DemoProcess extends ChildProcess {

  onStart(args?: ChildProcessArgs) {
    let entryParams = args?.entryParams;
    let fd = args?.fds?.key1;
    // ..
  }
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Ability Kit(程序框架服务)

harmony 鸿蒙AbilityBase

harmony 鸿蒙AbilityBase_Element

harmony 鸿蒙AbilityRuntime

harmony 鸿蒙bundle

harmony 鸿蒙OH_NativeBundle_ApplicationInfo

harmony 鸿蒙OH_NativeBundle_ElementName

harmony 鸿蒙ability_base_common.h

harmony 鸿蒙ability_runtime_common.h

harmony 鸿蒙application_context.h

0  赞