ts-container-ability-component.md 2.1 KB
Newer Older
E
ester.zhou 已提交
1 2
# AbilityComponent

E
ester.zhou 已提交
3 4
**\<AbilityComponent>** is a container for independently displaying an ability.

E
ester.zhou 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
>  **NOTE**
>
>  This component is supported since API version 9.
>
>  The APIs of this module are system APIs and cannot be called by third-party applications.


## Constraints

Using **\<AbilityComponent>** requires a signature and related permissions.

**\<AbilityComponent>** is rendered independently and cannot be overlaid with other display content.

**\<AbilityComponent>** cannot process input events. Events are directly distributed to the internal ability for processing without passing through the current ability.

Only width and height can be set for **\<AbilityComponent>**. These attributes are mandatory and cannot be dynamically updated.

The ability to be started must be resizeable.

The ability to start must be set not to display on the recent tasks screen.

## Required Permissions

ohos.permission.INFUSE_EVENTS

ohos.permission.CONTROL_ABILITY_STACKS

ohos.permission.INTEGRATED_ABILITY

ohos.permission.INTEGRATED_INTERIOR_WINDOW


## Child Components

Not supported


## APIs

E
ester.zhou 已提交
44
AbilityComponent(value: {want : Want})
E
ester.zhou 已提交
45 46 47 48 49 50 51 52 53 54 55

- Parameters
  | Name| Type| Mandatory| Default Value| Description|
  | -------- | -------- | -------- | -------- | -------- |
  | want | [Want](../../reference/apis/js-apis-application-Want.md) | Yes| - | Description of the default ability to load.|


## Events

| Name| Description|
| -------- | -------- |
E
ester.zhou 已提交
56 57
| onConnect()&nbsp;=&gt;&nbsp;void | Called when this **\<AbilityComponent>** is started. You can then use APIs in the **\<AbilityComponent>**.|
| onDisconnect()&nbsp;=&gt;&nbsp;void | Called when this **\<AbilityComponent>** is destroyed.|
E
ester.zhou 已提交
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75


## Example

```ts
// xxx.ets
@Entry
@Component
struct MyComponent {

  build() {
      Column() {
          AbilityComponent({
              want: {
                  bundleName: '',
                  abilityName: ''
              },
          })
E
ester.zhou 已提交
76 77
          .onConnect(() => {
              console.log('AbilityComponent connect');
E
ester.zhou 已提交
78
          })
E
ester.zhou 已提交
79 80
          .onDisconnect(() => {
              console.log('AbilityComponent disconnect');
E
ester.zhou 已提交
81 82 83 84 85
          })
      }
  }
}
```