目录

UIAbility Overview

Overview

UIAbility is a type of application component that provides the UI for user interactions. For example, an image gallery application can present an image waterfall layout within a UIAbility component.

The following design philosophy is behind UIAbility:

  1. Support for cross-device migration and multi-device collaboration at the application component level

  2. Support for multiple device types and window modes

UIAbility is the basic unit of scheduling in HarmonyOS and provides a window for applications to draw the UI. An application can contain one or more UIAbility components. For example, for a payment application, you can use separate UIAbility components to carry the entry and payment functionalities.

Each UIAbility component instance is displayed as a mission in the recent task list.

You can develop a single UIAbility or multiple UIAbility components for your application based on service requirements.

The recent task list is used for quickly viewing and managing all missions or applications running on the current device.

Declaration Configuration

To enable an application to properly use a UIAbility component, declare the UIAbility name, entry, and label under abilities in the module.json5 file.

{
  "module": {
    // ···
    "abilities": [
      {
        "name": "EntryAbility", // Name of the UIAbility component.
        "srcEntry": "./ets/entryability/EntryAbility.ets", // Code path of the UIAbility component.
        "description": "$string:EntryAbility_desc", // Description of the UIAbility component.
        "icon": "$media:layered_image", // Icon of the UIAbility component.
        "label": "$string:EntryAbility_label", // Name of the UIAbility component displayed to users.
        "startWindowIcon": "$media:startIcon", // Index of the icon resource file.
        "startWindowBackground": "$color:start_window_background", // Index of the background color resource file.
        // ···
      }
    ]
    // ···
  }
}