fc4e8ca9创建于 2025年12月17日历史提交

ArkWeb_WebMessagePortAPI

typedef struct {...} ArkWeb_WebMessagePortAPI

Overview

Defines a native API struct of the post message. Before calling this API, you are advised to use ARKWEB_MEMBER_MISSING to check whether the function struct has the corresponding pointer to avoid crash caused by mismatch between the SDK and the device ROM. The WebMessagePort APIs must be called on the UI thread through OH_ArkWeb_GetNativeAPI.

Since: 12

Related module: Web

Header file: arkweb_type.h

Summary

Member Variables

Name Description
size_t size Size of the struct.

Member Functions

Name Description
ArkWeb_ErrorCode (*postMessage)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage) Sends a message to the HTML page.
void (*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag) Closes a message port.
void (*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, ArkWeb_OnMessageEventHandler messageEventHandler, void* userData) Sets a callback for receiving HTML messages.

Member Function Description

postMessage()

ArkWeb_ErrorCode (*postMessage)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage)

Description

Sends a message to the HTML page.

Parameters

Name Description
const ArkWeb_WebMessagePortPtr webMessagePort Pointer to the message port.
const char* webTag Name of the Web component.
const ArkWeb_WebMessagePtr webMessage Message to send.

Returns

Type Description
ArkWeb_ErrorCode ARKWEB_SUCCESS: The operation is successful.
ARKWEB_INVALID_PARAM: The parameter is invalid.
ARKWEB_INIT_ERROR: The initialization fails because the Web component bound to webTag is not found.

close()

void (*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag)

Description

Closes a message port.

Parameters

Name Description
const ArkWeb_WebMessagePortPtr webMessagePort Pointer to the message port.
const char* webTag Name of the Web component.

setMessageEventHandler()

void (*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag,
        ArkWeb_OnMessageEventHandler messageEventHandler, void* userData)

Description

Sets a callback for receiving HTML messages.

Parameters

Name Description
const ArkWeb_WebMessagePortPtr webMessagePort Pointer to the message port.
const char* webTag Name of the Web component.
ArkWeb_OnMessageEventHandler messageEventHandler Callback used to handle messages.
void* userData User-defined data.