IT评测·应用市场-qidao123.com技术社区

标题: 鸿蒙NEXT版实战开辟:建立应用侧与前端页面数据通道(C/C++)(前端页面JavaScript) [打印本页]

作者: 守听    时间: 7 天前
标题: 鸿蒙NEXT版实战开辟:建立应用侧与前端页面数据通道(C/C++)(前端页面JavaScript)
往期鸿蒙全套实战精彩文章必看内容:



建立应用侧与前端页面数据通道(C/C++)

前端页面和应用侧之间可以利用本文Native方法实现两头通讯,可办理ArkTS情况的冗余切换,同时允许发送消息、回调在非UI线程上报,避免造成UI壅闭。当前只支持string和buffer数据范例。
Native侧ArkWeb绑定


Native侧API布局体获取

ArkWeb native侧API通过函数OH_ArkWeb_GetNativeAPI获取,根据入参type不同,可获取对应的函数指针布局体。其中本引导涉及ArkWeb_ControllerAPI、ArkWeb_WebMessageAPI、ArkWeb_WebMessagePortAPI。
  1. static ArkWeb_ControllerAPI *controller = nullptr;
  2. static ArkWeb_WebMessagePortAPI *webMessagePort = nullptr;
  3. static ArkWeb_WebMessageAPI *webMessage = nullptr;
  4. ...
  5. controller = reinterpret_cast<ArkWeb_ControllerAPI *>(OH_ArkWeb_GetNativeAPI(ARKWEB_NATIVE_CONTROLLER));
  6. webMessagePort =
  7.     reinterpret_cast<ArkWeb_WebMessagePortAPI *>(OH_ArkWeb_GetNativeAPI(ARKWEB_NATIVE_WEB_MESSAGE_PORT));
  8. webMessage = reinterpret_cast<ArkWeb_WebMessageAPI *>(OH_ArkWeb_GetNativeAPI(ARKWEB_NATIVE_WEB_MESSAGE));
复制代码
完整示例

在调用API前建议通过ARKWEB_MEMBER_MISSING校验该函数布局体是否有对应函数指针,避免SDK与装备ROM不匹配导致crash问题。createWebMessagePorts、postWebMessage、close需运行在UI线程。
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4