HarmonyOS ArkTS注册Native C函数监听

现在有个需求设置一个C函数的监听,C层有个长链接收到云端的通知然后想要调用ArkTS函数,这个怎么处理呢?

HarmonyOS
2024-08-27 10:22:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

Native调ArkTS的本质就是在ArkTS侧将ArkTS的方法以参数的形式传给Native。如果需要在Native侧在需要时再调用ArkTS的方法,可以先将ArkTS方法传给Native侧,再配合多线程实现,如woker:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-worker-V5#threadworker9

// arkts 
import worker from ‘@ohos.worker’; 
import editBoxNapi from ‘libeditbox.so’; 
const workerPort = worker.workerPort; 
editBoxNapi.setEditBoxShowCallback((msg: string) => { 
  workerPort.postMessage({ type: ‘OpenEditBox’, data: msg }); 
}) 
// napi 
static napi_ref callback = nullptr; 
static napi_value SetEditBoxShowCallback(napi_env env, napi_callback_info info) { 
  size_t argc = 1; 
  napi_value args[1] = {nullptr}; 
  auto status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); 
  napi_create_reference(env, args[0], 1, &callback); 
  return nullptr; 
}
分享
微博
QQ
微信
回复
2024-08-27 18:48:47
相关问题
Native调用ArkTS侧类函数
995浏览 • 1回复 待解决
ArkTS调用C++类中的成员函数
1352浏览 • 1回复 待解决
HarmonyOS eventHub注册和移除事件监听
45浏览 • 1回复 待解决
native使用fork函数,出现cppcrash
1667浏览 • 1回复 待解决
HarmonyOS C++函数插桩功能
43浏览 • 1回复 待解决
注册监听关机事件,该如何处理?
813浏览 • 1回复 待解决
HarmonyOS ArkTSC/C++的交互
788浏览 • 1回复 待解决
HarmonyOS C++和ArkTS交互
30浏览 • 1回复 待解决
系统监听注册的on和off的用法问题
1906浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS的对象
2274浏览 • 1回复 待解决