- AbilityKit
- Overview
- Summary
- Files
- Data Structures
- Macros
- Enumerations
- Functions
- Details
- Macro Definition Documentation
- REGISTER_AA
- REGISTER_AS
- Enumeration Type Documentation
- anonymous enum
- State
- Function Documentation
- ClearWant()
- ConnectAbility() [1/2]
- ConnectAbility() [2/2]
- DisconnectAbility() [1/2]
- DisconnectAbility() [2/2]
- Dump()
- GetBundleName()
- GetCurrentHandler()
- GetDataPath()
- GetSrcPath()
- MsgHandle()
- OnActive() [1/2]
- OnActive() [2/2]
- OnBackground() [1/2]
- OnBackground() [2/2]
- OnConnect()
- OnDisconnect()
- OnInactive() [1/2]
- OnInactive() [2/2]
- OnStart() [1/2]
- OnStart() [2/2]
- OnStop() [1/2]
- OnStop() [2/2]
- PostTask()
- Present()
- SetMainRoute()
- SetUIContent() [1/2]
- SetUIContent() [2/2]
- SetWantData()
- SetWantElement()
- SetWantSvcIdentity()
- StartAbility() [1/2]
- StartAbility() [2/2]
- StopAbility() [1/2]
- StopAbility() [2/2]
- Terminate()
- TerminateAbility()
- WantParseUri()
- WantToUri()
- Variable Documentation
- OnAbilityConnectDone
- OnAbilityDisconnectDone
AbilityKit
Overview
Provides ability-related functions, including ability lifecycle callbacks and functions for connecting to or disconnecting from Particle Abilities.
Abilities are classified into Feature Abilities and Particle Abilities. Feature Abilities support the Page template, and Particle Abilities support the Service template. An ability using the Page template is called a Page ability for short and that using the Service template is called a Service ability.
Since:
1.0
Version:
1.0
Summary
Files
Declares ability-related functions, including ability lifecycle callbacks and functions for connecting to or disconnecting from Particle Abilities. |
|
Declares callbacks to be invoked when a remote Service ability is connected or disconnected. |
|
Declares functions for obtaining information about the runtime environment of the application to which the ability belongs, including the bundle name, source code path, and data path. |
|
Declares error codes returned by ability management functions. |
|
Declares functions for performing operations during inter-thread communication, including running and quitting the event loop of the current thread and posting tasks to an asynchronous thread. |
|
Declares functions for registering the class names of Ability and AbilitySlice with the ability management framework. |
|
Declares ability-related functions, including functions for starting, stopping, connecting to, and disconnecting from an ability, registering a callback, and unregistering a callback. |
|
Declares ability slice-related functions, including ability slice lifecycle callbacks and functions for connecting to or disconnecting from ability slices. |
|
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 Abilities and Particle Abilities. Feature Abilities support the Page template, and Particle Abilities support the Service template. An ability using the Page template is called a Page ability for short and that using the Service template is called a Service ability. |
|
Declares the structure that provides abstract description of the operation to be performed, including the ability information and the carried data, and functions for setting data in the structure. |
Data Structures
Declares ability-related functions, including ability lifecycle callbacks and functions for connecting to or disconnecting from Particle Abilities. |
|
Provides callbacks to be invoked when a remote Service ability is connected or disconnected. |
|
Declares functions for performing operations during inter-thread communication, including running and quitting the event loop of the current thread and posting tasks to an asynchronous thread. |
|
Declares functions for registering the class names of Ability and AbilitySlice with the ability management framework. |
|
Provides ability slice-related functions, including ability slice lifecycle callbacks and functions for connecting to or disconnecting from ability slices. |
|
Defines the abstract description of an operation, including information about the ability and the extra data to carry. |
Macros
REGISTER_AA(className) |
|
REGISTER_AS(className) |
Enumerations
{ ERR_OK = 0, PARAM_NULL_ERROR, MEMORY_MALLOC_ERROR, DUMP_ABILITIES_ERROR, IPC_REQUEST_ERROR, SERIALIZE_ERROR, COMMAND_ERROR = 0x7fff } |
Declares error codes returned by ability management functions. |
State { STATE_UNINITIALIZED, STATE_INITIAL, STATE_INACTIVE, STATE_ACTIVE, STATE_BACKGROUND } |
Enumerates all lifecycle states that an ability will go through over the course of its lifetime. |
Functions
OHOS::Ability::OnStart (const Want &want) |
Called when this ability is started. You must override this function if you want to perform some initialization operations during ability startup. |
OHOS::Ability::OnActive (const Want &want) |
|
OHOS::Ability::OnConnect (const Want &want) |
Called when this Service ability is connected for the first time. |
OHOS::Ability::OnDisconnect (const Want &want) |
Called when all abilities connected to this Service ability are disconnected. |
OHOS::Ability::SetMainRoute (const std::string &entry) |
|
OHOS::Ability::SetUIContent (RootView rootView) |
Sets the UI layout for this ability. You can call GetWindowRootView() to create a layout and add controls. |
OHOS::Ability::MsgHandle (uint32_t funcId, IpcIo request, IpcIo reply) |
Handles a message sent by the client to this Service ability. |
OHOS::Ability::Dump (const std::string &extra) |
|
OHOS::AbilityContext::StartAbility (const Want &want) |
|
OHOS::AbilityContext::StopAbility (const Want &want) |
|
Destroys this Ability. |
|
OHOS::AbilityContext::ConnectAbility (const Want &want, const IAbilityConnection &conn, void data) |
Connects to a Service ability based on the specified Want information. |
OHOS::AbilityContext::DisconnectAbility (const IAbilityConnection &conn) |
Disconnects from a Service ability. |
Obtains the bundle name of the application to which this ability belongs. |
|
GetSrcPath () |
|
GetDataPath () |
|
OHOS::AbilityEventHandler::PostTask (const Task &task) |
|
static AbilityEventHandler |
|
StartAbility (const Want want) |
Starts an ability based on the specified Want information. |
StopAbility (const Want want) |
Stops an ability based on the specified Want information. |
ConnectAbility (const Want want, const IAbilityConnection conn, void data) |
Connects to a Service ability based on the specified Want information. |
DisconnectAbility (const IAbilityConnection conn) |
Disconnects from a Service ability. |
OHOS::AbilitySlice::OnStart (const Want &want) |
Called when this ability slice is started. You must override this function if you want to perform some initialization operations during ability slice startup. |
Called when this ability slice enters the STATE_INACTIVE state. |
|
OHOS::AbilitySlice::OnActive (const Want &want) |
Called when this ability slice enters the STATE_ACTIVE state. |
Called when this ability slice enters the STATE_BACKGROUND state. |
|
OHOS::AbilitySlice::Present (AbilitySlice &abilitySlice, const Want &want) |
Presents another ability slice, which can be an ability slice that is not started or an existing ability slice in the host ability. |
OHOS::AbilitySlice::SetUIContent (RootView rootView) |
Sets the UI layout for the host ability of this ability slice. |
Clears the memory of a specified Want object. |
|
SetWantElement (Want want, ElementName element) |
Sets the element variable for a specified Want object. |
SetWantData (Want want, const void data, uint16_t dataLength) |
Sets data to carry in a specified Want object for starting a particular ability. |
SetWantSvcIdentity (Want want, SvcIdentity sid) |
Sets the sid member variable for a specified Want object. |
Converts a specified Want object into a character string. |
|
WantParseUri (const char uri) |
Converts a specified character string into a Want object. |
Details
Macro Definition Documentation
REGISTER_AA
#define REGISTER_AA( className)
Values: __attribute__((constructor)) void RegisterAA##className() { \
AbilityLoader::GetInstance().RegisterAbility(#className, []()->Ability* { \
return new className; \
}); \
}
Description:
Registers the class name of an Ability child class.
After implementing your own Ability class, you should call this function so that the ability management framework can create Ability instances when loading your Ability class.
Parameters:
className | Indicates the Ability class name to register. |
REGISTER_AS
#define REGISTER_AS( className)
Values: __attribute__((constructor)) void RegisterAS##className() { \
AbilityLoader::GetInstance().RegisterAbilitySlice(#className, []()->AbilitySlice* { \
return new className; \
}); \
}
Description:
Registers the class name of an AbilitySlice child class.
After implementing your own AbilitySlice class, you should call this function so that the ability management framework can create AbilitySlice instances when loading your AbilitySlice class.
Parameters:
className | Indicates the AbilitySlice class name to register. |
Enumeration Type Documentation
anonymous enum
anonymous enum
Description:
Declares error codes returned by ability management functions.
ERR_OK | |
PARAM_NULL_ERROR | |
MEMORY_MALLOC_ERROR | |
DUMP_ABILITIES_ERROR | An error occurred during the execution of the Dump function. |
IPC_REQUEST_ERROR | |
SERIALIZE_ERROR | |
COMMAND_ERROR |
State
enum [State]($api-api-SmartVision-Devices-AbilityKit.md#ga5d74787dedbc4e11c1ab15bf487e61f8)
Description:
Enumerates all lifecycle states that an ability will go through over the course of its lifetime.
Function Documentation
ClearWant()
void ClearWant ([Want]($api-api-SmartVision-Devices-Want.md) * want)
Description:
Clears the memory of a specified Want object.
After calling functions such as SetWantElement, you should call this function to clear the memory.
Parameters:
want | Indicates the pointer to the Want object whose memory is to be released. |
ConnectAbility() [1/2]
int OHOS::AbilityContext::ConnectAbility (const [Want]($api-api-SmartVision-Devices-Want.md) & want, const [IAbilityConnection]($api-api-SmartVision-Devices-IAbilityConnection.md) & conn, void * data )
Description:
Connects to a Service ability based on the specified Want information.
After the Service ability is connected, the Ability Manager Service invokes a particular callback and returns the ID of the Service ability. The client can use this ID to communicate with the connected Service ability.
Parameters:
want | Indicates the pointer to the Want structure containing information about the Service ability to connect. |
conn | Indicates the callback to be invoked when the connection is successful. |
data | Indicates the pointer to the data to be passed to the callback. |
Returns:
Returns 0 if this function is successfully called; returns another value otherwise.
ConnectAbility() [2/2]
int ConnectAbility (const [Want]($api-api-SmartVision-Devices-Want.md) * want, const [IAbilityConnection]($api-api-SmartVision-Devices-IAbilityConnection.md) * conn, void * data )
Description:
Connects to a Service ability based on the specified Want information.
After the Service ability is connected, the AMS invokes the particular callback and returns the ID of the Service ability. The client can use this ID to communicate with the connected Service ability.
Parameters:
want | Indicates the pointer to the Want structure containing information about the Service ability to connect. |
conn | Indicates the callback object when the Service ability is connected. |
data | Indicates the pointer to the data to be passed to the callback. |
Returns:
Returns 0 if this function is successfully called; returns another value otherwise.
DisconnectAbility() [1/2]
int OHOS::AbilityContext::DisconnectAbility (const [IAbilityConnection]($api-api-SmartVision-Devices-IAbilityConnection.md) & conn)
Description:
Disconnects from a Service ability.
Parameters:
conn | Indicates the callback to be invoked when the connection is successful. |
Returns:
Returns 0 if this function is successfully called; returns another value otherwise.
DisconnectAbility() [2/2]
int DisconnectAbility (const [IAbilityConnection]($api-api-SmartVision-Devices-IAbilityConnection.md) * conn)
Description:
Disconnects from a Service ability.
Parameters:
conn | Indicates the callback object when the Service ability is connected. |
Returns:
Returns 0 if this function is successfully called; returns another value otherwise.
Dump()
virtual void OHOS::Ability::Dump (const std::string & extra)
Description:
Prints ability information to the console.
You can override this function to obtain or print extra parameters.
Parameters:
extra | Indicates the extra parameter to be obtained or printed to the console. |
GetBundleName()
const char* GetBundleName ()
Description:
Obtains the bundle name of the application to which this ability belongs.
Returns:
Returns the pointer to the bundle name if the operation is successful; returns a null pointer otherwise.
GetCurrentHandler()
static [AbilityEventHandler]($api-api-SmartVision-Devices-OHOS-AbilityEventHandler.md)* OHOS::AbilityEventHandler::GetCurrentHandler ()
Description:
Obtains the event handler of the current thread.
Returns:
Returns the pointer to the AbilityEventHandler object of the current thread.
GetDataPath()
const char* GetDataPath ()
Description:
Obtains the data path of this ability.
Returns:
Returns the pointer to the data path of this ability.
GetSrcPath()
const char* GetSrcPath ()
Description:
Obtains the source code path of this ability.
Returns:
Returns the pointer to the source code path of this ability.
MsgHandle()
virtual void OHOS::Ability::MsgHandle (uint32_t funcId, IpcIo * request, IpcIo * reply )
Description:
Handles a message sent by the client to this Service ability.
Parameters:
funcId | Indicates the type of the message sent by the client. |
request | Indicates the pointer to the serialized request parameters sent by the client. |
reply | Indicates the pointer to the serialized result returned to the client. |
OnActive() [1/2]
virtual void OHOS::AbilitySlice::OnActive (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Called when this ability slice enters the STATE_ACTIVE state.
The ability slice in the STATE_ACTIVE state is visible and has focus. You can override this function to implement your own processing logic.
Parameters:
want | Indicates the Want structure containing activation information about the ability slice. |
OnActive() [2/2]
virtual void OHOS::Ability::OnActive (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Called when this ability enters the STATE_ACTIVE state.
The ability in the STATE_ACTIVE state is visible and has focus. You can override this function to implement your own processing logic.
Parameters:
want | Indicates the Want structure containing activation information about the ability. |
OnBackground() [1/2]
virtual void OHOS::AbilitySlice::OnBackground ()
Description:
Called when this ability slice enters the STATE_BACKGROUND state.
The ability slice in the STATE_BACKGROUND state is invisible. You can override this function to implement your own processing logic.
OnBackground() [2/2]
virtual void OHOS::Ability::OnBackground ()
Description:
Called when this ability enters the STATE_BACKGROUND state.
The ability in the STATE_BACKGROUND state is invisible. You can override this function to implement your own processing logic.
OnConnect()
virtual const SvcIdentity* OHOS::Ability::OnConnect (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Called when this Service ability is connected for the first time.
You can override this function to implement your own processing logic.
Parameters:
want | Indicates the Want structure containing connection information about the Service ability. |
Returns:
Returns a pointer to the sid of the connected Service ability.
OnDisconnect()
virtual void OHOS::Ability::OnDisconnect (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Called when all abilities connected to this Service ability are disconnected.
You can override this function to implement your own processing logic.
Parameters:
want | Indicates the Want structure containing disconnection information about the Service ability. |
OnInactive() [1/2]
virtual void OHOS::AbilitySlice::OnInactive ()
Description:
Called when this ability slice enters the STATE_INACTIVE state.
STATE_INACTIVE is an instantaneous state. The ability slice in this state may be visible but does not have focus. You can override this function to implement your own processing logic.
OnInactive() [2/2]
virtual void OHOS::Ability::OnInactive ()
Description:
Called when this ability enters the STATE_INACTIVE state.
STATE_INACTIVE is an instantaneous state. The ability in this state may be visible but does not have focus. You can override this function to implement your own processing logic.
OnStart() [1/2]
virtual void OHOS::AbilitySlice::OnStart (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Called when this ability slice is started. You must override this function if you want to perform some initialization operations during ability slice startup.
This function can be called only once in the entire lifecycle of an ability slice. You can override this function to implement your own processing logic.
Parameters:
want | Indicates the Want structure containing startup information about the ability slice. |
OnStart() [2/2]
virtual void OHOS::Ability::OnStart (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Called when this ability is started. You must override this function if you want to perform some initialization operations during ability startup.
This function can be called only once in the entire lifecycle of an ability.
Parameters:
want | Indicates the Want structure containing startup information about the ability. |
OnStop() [1/2]
virtual void OHOS::AbilitySlice::OnStop ()
Description:
Called when this ability slice enters the STATE_STOP state.
The ability slice in the STATE_STOP state is being destroyed. You can override this function to implement your own processing logic.
OnStop() [2/2]
virtual void OHOS::Ability::OnStop ()
Description:
Called when this ability enters the STATE_STOP state.
The ability in the STATE_STOP is being destroyed. You can override this function to implement your own processing logic.
PostTask()
void OHOS::AbilityEventHandler::PostTask (const Task & task)
Description:
Posts a task to an asynchronous thread.
Parameters:
task | Indicates the task to post. |
Present()
void OHOS::AbilitySlice::Present ([AbilitySlice]($api-api-SmartVision-Devices-OHOS-AbilitySlice.md) & abilitySlice, const [Want]($api-api-SmartVision-Devices-Want.md) & want )
Description:
Presents another ability slice, which can be an ability slice that is not started or an existing ability slice in the host ability.
Parameters:
abilitySlice | Indicates the target ability slice. This parameter cannot be null. |
want | Indicates the Want structure containing startup information about the target ability slice. |
Attention:
This function can be called only when both of the following conditions are met:
- The host ability is in the STATE_ACTIVE state.
- The target ability slice is not started or destroyed.
SetMainRoute()
void OHOS::Ability::SetMainRoute (const std::string & entry)
Description:
Sets the main route for this ability.
The main route, also called main entry, refers to the default AbilitySlice to present for this ability. This function should be called only on Feature Abilities. If this function is not called in the OnStart(const Want &want) function for a Feature Ability, the Feature Ability will fail to start.
Parameters:
entry | Indicates the main entry, which is the class name of the AbilitySlice instance to start. |
SetUIContent() [1/2]
void OHOS::AbilitySlice::SetUIContent ([RootView]($api-api-SmartVision-Devices-OHOS-RootView.md) * rootView)
Description:
Sets the UI layout for the host ability of this ability slice.
You can call GetWindowRootView() to create a layout and add controls.
Parameters:
rootView | Indicates the pointer to the custom layout view you have created. |
SetUIContent() [2/2]
void OHOS::Ability::SetUIContent ([RootView]($api-api-SmartVision-Devices-OHOS-RootView.md) * rootView)
Description:
Sets the UI layout for this ability. You can call GetWindowRootView() to create a layout and add controls.
Parameters:
rootView | Indicates the pointer to the custom layout view you have created. |
SetWantData()
bool SetWantData ([Want]($api-api-SmartVision-Devices-Want.md) * want, const void * data, uint16_t dataLength )
Description:
Sets data to carry in a specified Want object for starting a particular ability.
Parameters:
want | Indicates the pointer to the Want object to set. |
data | Indicates the pointer to the data to set. |
dataLength | Indicates the data length to set. The length must be the same as that of the data specified in data. |
Returns:
Returns true if the setting is successful; returns false otherwise.
SetWantElement()
bool SetWantElement ([Want]($api-api-SmartVision-Devices-Want.md) * want, [ElementName]($api-api-SmartVision-Devices-ElementName.md) element )
Description:
Sets the element variable for a specified Want object.
To start a specified ability, you should call this function to set the ElementName required for starting the ability.
Parameters:
want | Indicates the pointer to the Want object to set. |
element | Indicates the ElementName containing information required for starting the ability. |
Returns:
Returns true if the setting is successful; returns false otherwise.
SetWantSvcIdentity()
bool SetWantSvcIdentity ([Want]($api-api-SmartVision-Devices-Want.md) * want, SvcIdentity sid )
Description:
Sets the sid member variable for a specified Want object.
When starting an ability, you should call this function to set an SvcIdentity object if a callback needs to be invoked after the ability is started successfully.
Parameters:
want | Indicates the pointer to the Want object to set. |
sid | Indicates the SvcIdentity object to set. |
Returns:
Returns true if the setting is successful; returns false otherwise.
StartAbility() [1/2]
int OHOS::AbilityContext::StartAbility (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Starts an Ability based on the specified Want information.
Parameters:
want | Indicates the pointer to the Want structure containing information about the ability to start. |
Returns:
Returns 0 if the operation is successful; returns a non-zero value otherwise.
StartAbility() [2/2]
int StartAbility (const [Want]($api-api-SmartVision-Devices-Want.md) * want)
Description:
Starts an ability based on the specified Want information.
Parameters:
want | Indicates the pointer to the Want structure containing information about the ability to start. |
Returns:
Returns 0 if this function is successfully called; returns another value otherwise.
StopAbility() [1/2]
int OHOS::AbilityContext::StopAbility (const [Want]($api-api-SmartVision-Devices-Want.md) & want)
Description:
Stops an Ability based on the specified Want information.
This function takes effect only on Service abilities.
Parameters:
want | Indicates the pointer to the Want structure containing information about the ability to stop. |
Returns:
Returns 0 if the operation is successful; returns a non-zero value otherwise.
StopAbility() [2/2]
int StopAbility (const [Want]($api-api-SmartVision-Devices-Want.md) * want)
Description:
Stops an ability based on the specified Want information.
This function takes effect only on Service abilities.
Parameters:
want | Indicates the pointer to the Want structure containing information about the ability to stop. |
Returns:
Returns 0 if this function is successfully called; returns another value otherwise.
Terminate()
void OHOS::AbilitySlice::Terminate ()
Description:
Destroys this ability slice.
This ability slice can call this function to destroy itself. If the ability slice to destroy is the only running one in the host ability, the host ability will also be destroyed. Otherwise, the host ability will not be affected.
TerminateAbility()
int OHOS::AbilityContext::TerminateAbility ()
Description:
Destroys this Ability.
This function can be called only by this ability.
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
WantParseUri()
[Want]($api-api-SmartVision-Devices-Want.md)* WantParseUri (const char * uri)
Description:
Converts a specified character string into a Want object.
Parameters:
uri | Indicates the pointer to the character string to convert. |
Returns:
Returns the pointer to the converted Want object if the operation is successful; returns nullptr otherwise.
WantToUri()
const char* WantToUri ([Want]($api-api-SmartVision-Devices-Want.md) want)
Description:
Converts a specified Want object into a character string.
Parameters:
want | Indicates the Want object to convert. |
Returns:
Returns the converted character string if the operation is successful; returns nullptr otherwise.
Variable Documentation
OnAbilityConnectDone
void(* IAbilityConnection::OnAbilityConnectDone) ([ElementName]($api-api-SmartVision-Devices-ElementName.md) *elementName, SvcIdentity *serviceSid, int resultCode, void *data)
Description:
Called when a client is connected to a Service ability.
This callback is invoked to receive the connection result after a client is connected to a Service ability.
Parameters:
elementName | Indicates the pointer to the information about the connected Service ability. |
serviceSid | Indicates the pointer to the remote proxy object of the Service ability. |
resultCode | Indicates the connection result code. The value 0 indicates a successful connection, and any other value indicates a connection failure. |
data | Indicates the pointer to the data stored during the connection. |
OnAbilityDisconnectDone
void(* IAbilityConnection::OnAbilityDisconnectDone) ([ElementName]($api-api-SmartVision-Devices-ElementName.md) *elementName, int resultCode, void *data)
Description:
Called after all connections to a Service ability are disconnected.
This callback is invoked to receive the disconnection result after the connected Service ability crashes or is killed. If the Service ability exits unexpectedly, all its connections are disconnected, and each ability previously connected to it will call OnAbilityDisconnectDone(ElementName *elementName, int resultCode, void *data).
Parameters:
elementName | Indicates the pointer to the information about the disconnected Service ability. |
resultCode | Indicates the disconnection result code. The value 0 indicates a successful disconnection, and any other value indicates a disconnection failure. |
data | Indicates the pointer to the data stored during the connection. |