您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明。
提供NativeModule接口的统一入口函数,用于初始化C-API环境、获取指定类型的Native模块接口集合,以及获取最新一次的报错信息。
引用文件: <arkui/native_interface.h>
库: libace_ndk.z.so
系统能力: SystemCapability.ArkUI.ArkUI.Full
起始版本: 12
相关模块: ArkUI_NativeModule
| 名称 | typedef关键字 | 描述 |
|---|---|---|
| ArkUI_NativeAPIVariantKind | ArkUI_NativeAPIVariantKind | 定义Native接口集合类型。 |
| 名称 | 描述 |
|---|---|
| void* OH_ArkUI_QueryModuleInterfaceByName(ArkUI_NativeAPIVariantKind type, const char* structName) | 需调用该函数初始化C-API环境,并获取指定类型的Native模块接口集合。 |
| const char* OH_ArkUI_NativeModule_GetErrorMessage() | 获取最新一次的报错信息,包括错误码、方法名称和错误原因。 |
| 名称 | 描述 |
|---|---|
| OH_ArkUI_GetModuleInterface(nativeAPIVariantKind, structType, structPtr) | 初始化C-API环境,并基于结构体类型获取对应结构体指针。 |
- enum ArkUI_NativeAPIVariantKind
描述:
定义Native接口集合类型。
起始版本: 12
| 枚举项 | 描述 |
|---|---|
| ARKUI_NATIVE_NODE = 0 | UI组件相关接口类型,详见native_node.h中的结构体类型定义。 |
| ARKUI_NATIVE_DIALOG = 1 | 弹窗相关接口类型,详见native_dialog.h中的结构体类型定义。 |
| ARKUI_NATIVE_GESTURE = 2 | 手势相关接口类型,详见native_gesture.h中的结构体类型定义。 |
| ARKUI_NATIVE_ANIMATE = 3 | 动画相关接口类型,详见native_animate.h中的结构体类型定义。 |
| ARKUI_MULTI_THREAD_NATIVE_NODE = 4 | 多线程UI组件相关接口类型,详见native_node.h中的结构体类型定义。 起始版本: 22 |
- void* OH_ArkUI_QueryModuleInterfaceByName(ArkUI_NativeAPIVariantKind type, const char* structName)
描述:
需调用该函数初始化C-API环境,并获取指定类型的Native模块接口集合。
起始版本: 12
参数:
| 参数项 | 描述 |
|---|---|
| ArkUI_NativeAPIVariantKind type | ArkUI提供的Native接口集合大类,例如UI组件接口类:ARKUI_NATIVE_NODE,手势类:ARKUI_NATIVE_GESTURE。 |
| const char* structName | Native接口结构体的名称,可通过查询对应头文件内的结构体定义获取,例如位于native_node.h中的"ArkUI_NativeNodeAPI_1"。 |
返回:
| 类型 | 说明 |
|---|---|
| void* | 返回Native接口抽象指针,在转换为具体类型后进行使用。 |
- #define OH_ArkUI_GetModuleInterface(nativeAPIVariantKind, structType, structPtr) \
- do { \
- void* anyNativeAPI = OH_ArkUI_QueryModuleInterfaceByName(nativeAPIVariantKind, #structType); \
- if (anyNativeAPI) { \
- structPtr = (structType*)(anyNativeAPI); \
- } \
- } while (0)
描述:
初始化C-API环境,并基于结构体类型获取对应结构体指针。
适用于已确定Native接口集合类型和接口结构体类型,需要获取具体Native接口结构体指针以调用ArkUI Native C API的场景。此宏函数接收ArkUI_NativeAPIVariantKind类型枚举参数nativeAPIVariantKind、结构体类型参数structType、结构体指针变量structPtr;structPtr需与structType类型匹配。该宏调用OH_ArkUI_QueryModuleInterfaceByName初始化C-API环境并获取Native接口抽象指针,转换为structType*类型后赋值给structPtr。
起始版本: 12
- const char* OH_ArkUI_NativeModule_GetErrorMessage()
描述:
获取最新一次的报错信息,包括错误码、方法名称和错误原因。错误码相关信息请参考ArkUI_ErrorCode。当其他接口返回错误码时,会保存对应的报错信息,通过此接口可获取当前存储的报错信息。返回的字符串是由系统创建的线程局部全局字符串,不得修改其内容。如需任何编辑,请自行创建字符串内容的副本。该接口返回的信息可能随版本演进而变化,仅用于输出以辅助分析与故障排查,不应作为逻辑判断依据。返回的报错信息无需手动释放。
起始版本: 26.0.0
返回:
| 类型 | 说明 |
|---|---|
| const char* | 最新一次的报错信息,包括错误码、方法名称和错误原因。 |