# OHOS::Ability - [Overview](#section686627827165632) - [Summary](#section182016991165632) - [Public Member Functions](#pub-methods) ## **Overview** **Related Modules:** [AbilityKit](AbilityKit.md) **Description:** Declares ability-related functions, including ability lifecycle callbacks and functions for connecting to or disconnecting from Particle Abilities. As the fundamental unit of OpenHarmony applications, abilities are classified into [Feature](Feature.md) Abilities and Particle Abilities. [Feature](Feature.md) Abilities support the Page template, and Particle Abilities support the [Service](Service.md) template. An ability using the Page template is called Page ability for short and that using the [Service](Service.md) template is called [Service](Service.md) ability. **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Public Member Functions

Function

Description

OnStart (const Want &want)

virtual void

Called when this ability is started. You must override this function if you want to perform some initialization operations during ability startup.

OnInactive ()

virtual void

Called when this ability enters the STATE_INACTIVE state.

OnActive (const Want &want)

virtual void

Called when this ability enters the STATE_ACTIVE state.

OnBackground ()

virtual void

Called when this ability enters the STATE_BACKGROUND state.

OnStop ()

virtual void

Called when this ability enters the STATE_STOP state.

OnConnect (const Want &want)

virtual const SvcIdentity *

Called when this Service ability is connected for the first time.

OnDisconnect (const Want &want)

virtual void

Called when all abilities connected to this Service ability are disconnected.

SetMainRoute (const std::string &entry)

void

Sets the main route for this ability.

SetUIContent (RootView *rootView)

void

Sets the UI layout for this ability. You can call GetWindowRootView() to create a layout and add controls.

MsgHandle (uint32_t funcId, IpcIo *request, IpcIo *reply)

virtual void

Handles a message sent by the client to this Service ability.

Dump (const std::string &extra)

virtual void

Prints ability information to the console.

StartAbility (const Want &want)

int

Starts an Ability based on the specified Want information.

StopAbility (const Want &want)

int

Stops an Ability based on the specified Want information.

TerminateAbility ()

int

Destroys this Ability.

ConnectAbility (const Want &want, const IAbilityConnection &conn, void *data)

int

Connects to a Service ability based on the specified Want information.

DisconnectAbility (const IAbilityConnection &conn)

int

Disconnects from a Service ability.