want.h

概述

Want是对象间信息传递的载体, 可以用于应用组件间的信息传递。 Want的使用场景之一是作为startAbility的参数, 其包含了指定的启动目标, 以及启动时需携带的相关数据, 如bundleName和abilityName字段分别指明目标Ability所在应用的Bundle名称以及对应包内的Ability名称。当Ability A需要启动Ability B并传入一些数据时, 可使用Want作为载体将这些数据传递给Ability B。

引用文件:<AbilityKit/ability_base/want.h>

库: libability_base_want.so

系统能力: SystemCapability.Ability.AbilityBase

起始版本: 15

相关模块:AbilityBase

汇总

文件

名称 描述
want.h 声明Want相关能力。
引用文件:<AbilityKit/ability_base/want.h>
:libability_base_want.so

结构体

名称 描述
AbilityBase_Element {
char* bundleName;
char* moduleName;
char* abilityName;
}
Element数据结构。
AbilityBase_Want Want数据结构。

函数

名称 描述
AbilityBase_Want* OH_AbilityBase_CreateWant(AbilityBase_Element element) 创建Want。
AbilityBase_ErrorCode OH_AbilityBase_DestroyWant(AbilityBase_Want* want) 销毁Want。销毁后的Want不可使用,否则会导致未定义行为。
AbilityBase_ErrorCode OH_AbilityBase_SetWantElement(AbilityBase_Want* want, AbilityBase_Element element) 设置Want中bundleName、moduleName与abilityName组成的Element结构体。
AbilityBase_ErrorCode OH_AbilityBase_GetWantElement(AbilityBase_Want* want, AbilityBase_Element* element) 获取Want中bundleName、moduleName与abilityName组成的Element结构体。
AbilityBase_ErrorCode OH_AbilityBase_SetWantCharParam(AbilityBase_Want* want, const char* key, const char* value) 设置Want Param参数,Param可参考Want中的parameters参数
AbilityBase_ErrorCode OH_AbilityBase_GetWantCharParam(AbilityBase_Want* want, const char* key, char* value, size_t valueSize) 获取OH_AbilityBase_SetWantCharParam方法设置的Want Param参数。
AbilityBase_ErrorCode OH_AbilityBase_AddWantFd(AbilityBase_Want* want, const char* key, int32_t fd) 添加Want文件描述符,文件描述符可通过fs.open获取。
AbilityBase_ErrorCode OH_AbilityBase_GetWantFd(AbilityBase_Want* want, const char* key, int32_t* fd) 获取Want文件描述符。