# HalfScreenLaunchComponent

半屏嵌入式启动元服务组件，当被拉起方未授权嵌入式运行元服务时，宿主将使用跳出式拉起元服务。

该组件从API version 18开始支持。后续版本如有新增内容，则采用上角标单独标记该内容的起始版本。

如果需要在该组件中实现一个可嵌入式运行的元服务时，元服务必须继承自EmbeddableUIAbility。若不继承自EmbeddableUIAbility，系统无法确保元服务正常运行。

#### 导入模块

```
import { HalfScreenLaunchComponent } from '@kit.ArkUI';
```

#### 子组件

无

#### 属性

不支持通用属性

#### HalfScreenLaunchComponent

HalfScreenLaunchComponent({ content: Callback<void>, appId: string, options?: AtomicServiceOptions, onError?: ErrorCallback, onTerminated?: Callback<TerminationInfo>, onReceive?: Callback<Record<string, Object>> })

**装饰器类型：**@Component

**元服务API：** 从API version 18开始，该接口支持在元服务中使用。

**系统能力：** SystemCapability.ArkUI.ArkUI.Full

**参数：**

| 名称 | 类型 | 必填 | 装饰器类型 | 说明 |
| --- | --- | --- | --- | --- |
| content | Callback<void> | 是 | @BuilderParam | 组件显示内容。 |
| appId | string | 是 | - | 元服务appId。 |
| options | AtomicServiceOptions | 否 | - | 拉起元服务参数，默认为空。 |
| onError | ErrorCallback | 否 | - | 被拉起的元服务扩展在运行过程中发生异常时触发本回调。 |
| onTerminated | Callback<TerminationInfo> | 否 | - | 被拉起的嵌入式运行元服务通过点击元服务退出按钮、手势侧滑、调用terminateSelfWithResult或者terminateSelf正常退出时，触发本回调函数。 |
| onReceive20+ | Callback<Record<string, Object>> | 否 | - | 被拉起的嵌入式运行元服务通过@ohos.window (窗口)调用API时，触发本回调。 元服务API： 从API version 20开始，该接口支持在元服务中使用。 |

#### 示例

该示例展示如何嵌入式拉起手机充值服务。

由于嵌入式元服务运行在独立进程，其崩溃异常不会直接暴露在宿主的日志中。本地调试时可通过以下方式查看真实报错栈：

1.  打开DevEco Studio的HiLog面板。
2.  将左上角的模式切换为User logs of selected app。
3.  在右侧进程列表中，选择被拉起的元服务进程（被拉起元服务的包名，且后缀带有embeddable字样）。

```
import { HalfScreenLaunchComponent } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  appId: string = "576****************"; // 元服务appId。

  build() {
    Column() {
      HalfScreenLaunchComponent({
        appId: this.appId,
        options: {},
        onTerminated:  (info:TerminationInfo)=> {
          console.info('onTerminated info = '+ info.want);
        },
        onError: (err) => {
          console.error(" onError code: " + err.code + ", message: ", err.message);
        },
        onReceive: (data) => {
          console.info("onReceive, data: " + data['ohos.atomicService.window']);
        }
      }) {
        Column() {
          Image($r('app.media.app_icon'))
          Text('拉起手机充值')
        }.width("80vp").height("80vp").margin({bottom:30})
      } // 通过尾随闭包形式传入content。
    }
  }

}
```