目录

跳转

has.restartAtomicService

has.restartAtomicService(Object object)

重启当前元服务。

  • 开发者需要在应用处于获焦状态时使用该接口。

  • 该接口不支持频繁调用。

起始版本: 1.0.21

约束与限制:

当前接口在元服务被嵌入式运行时暂不支持使用,建议规避或替换类似功能接口。

参数:

参数为Object对象,包括以下字段。

参数 类型 必填 描述
path string 否

打开的页面路径,路径后可以带参数。参数与路径之间用?分隔,参数与键值用=相连,多个参数用&分隔。在元服务的App.onLaunch、App.onShow和Page.onLoad的回调函数中可以获得参数query。

支持格式:

- path如果为空则打开首页;

- path不为空,则之前的路径应为在app.json中定义的代码包路径。

例如,在app.json中定义了页面: "page/path/path",则有效应用内页面路径为:"page/path/path?key1=value1&key2=value2"。

success function 否 接口调用成功的回调函数。
fail function 否 接口调用失败的回调函数。
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)。

错误码信息:

错误码 错误信息
102 Parameter error. Possible causes: check type is invalid.
20000901

restartAtomicService:fail.

更多错误信息参考:元能力子系统错误码。

示例:

has.restartAtomicService({
  path: 'page/path/path?key1=value1&key2=value2',
  success: (res) => {
    console.info('restartAtomicService success:', res);
  },
  fail: (err) => {
    console.error('restartAtomicService fail:', err);
  },
  complete: (res) => {
    console.info('restartAtomicService complete:', res);
  }
});

has.navigateToAtomicService

has.navigateToAtomicService(Object object)

打开另一个元服务。

起始版本: 1.0.4

参数:

参数为Object对象,包括以下字段。

参数 类型 必填 描述
appId string 是 需要打开的元服务的AppID。
path string 否

仅ASCF框架开发的元服务使用,打开的页面路径,路径后可以带参数。参数与路径之间用?分隔,参数与键值用=相连,多个参数用&分隔。在元服务的App.onLaunch、App.onShow和Page.onLoad的回调函数中可以获得参数query。

支持格式:

- path如果为空则打开首页;

- path不为空,则之前的路径应为在app.json中定义的代码包路径。

例如,在app.json中定义了页面: "page/path/path",则有效应用内页面路径为:"page/path/path?key1=value1&key2=value2"。

extraData Object 否 仅ASCF框架开发的元服务使用,需要传递给目标元服务的数据。
wantParam Object 否

ArkTS侧启动参数。以下为系统保留字段,请勿使用:

ascfPara,ASCF框架保留

subPackageName,预加载子包参数,用于启动元服务子包时,一次完成主包和对应子包的安装 。

success function 否 接口调用成功的回调函数。
fail function 否 接口调用失败的回调函数。
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)。

错误码信息:

错误码 错误信息
102

Parameter error. Possible causes:

1.appId is required.

2.check type is invalid.

20000601

navigateToAtomicService error.

更多错误信息参考:元能力子系统错误码。

示例:

has.navigateToAtomicService({
  appId: 'xxxx', // 目标元服务APPID
  path: 'pages/index/index',
  extraData: {
    data: 'extraData'
  },
  success: () => {
    console.info('navigateToAtomicService success!');
  },
  fail: (err) => {
    console.error('navigateToAtomicService fail:', err);
  },
  complete: (res) => {
    console.info('navigateToAtomicService complete:', res);
  }
});

has.navigateBackAtomicService

has.navigateBackAtomicService(Object object)

返回到上一个元服务,只有在当前元服务是被其他元服务打开时可以调用成功。

起始版本: 1.0.4

参数:

参数为Object对象,包括以下字段。

参数 类型 必填 描述
extraData Object 否 返回上一个元服务时携带的数据。
wantParam Object 否

ArkTS侧启动参数。以下为系统保留字段,请勿使用:

ascfPara,ASCF框架保留

subPackageName,预加载子包参数,用于启动元服务子包时,一次完成主包和对应子包的安装 。

success function 否 接口调用成功的回调函数。
fail function 否 接口调用失败的回调函数。
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)。

错误码信息:

错误码 错误信息
102 Parameter error. Possible causes: check type is invalid.
20000701

navigateBackAtomicService error.

更多错误信息参考:元能力子系统错误码。

示例:

has.navigateBackAtomicService({
  extraData: {
    data: 'extraData'
  },
  success: () => {
    console.info('navigateBackAtomicService success!');
  },
  fail: (err) => {
    console.error('navigateBackAtomicService fail:', err);
  },
  complete: (res) => {
    console.info('navigateBackAtomicService complete:', res);
  }
});

has.terminateSelf

has.terminateSelf(Object object)

退出当前元服务。当本元服务是通过open-embedded-atomicservice组件以半屏模式被拉起时,调用此方法退出,会返回结果给拉起方元服务。

起始版本: 1.0.18

参数:

参数为Object对象,包括以下字段。

参数 类型 必填 描述
resultCode number 否 返回给拉起方元服务的结果码。
params Object 否 返回给拉起方元服务的数据。若params非空,则必须同时提供非空的resultCode,否则params将被忽略。
success function 否 接口调用成功的回调函数。
fail function 否 接口调用失败的回调函数。
complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)。

错误码信息:

错误码 错误信息
102 Parameter error. Possible causes: check type is invalid.
20000801

terminateSelf error.

更多错误信息参考:元能力子系统错误码。

示例:

has.terminateSelf({
  resultCode: 100, // 自定义结果码
  params: {
    data: 'test' // 自定义要发送的参数
  },
  success: () => {
    console.info('terminateSelf success!');
  },
  fail: (err) => {
    console.error('terminateSelf fail:', err);
  },
  complete: (res) => {
    console.info('terminateSelf complete:', res);
  }
});