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侧类函数
601浏览 • 1回复 待解决
ArkTS调用C++类中的成员函数
866浏览 • 1回复 待解决
注册监听关机事件,该如何处理?
562浏览 • 1回复 待解决
HarmonyOS ArkTSC/C++的交互
105浏览 • 1回复 待解决
native使用fork函数,出现cppcrash
1451浏览 • 1回复 待解决
系统监听注册的on和off的用法问题
1481浏览 • 1回复 待解决
HarmonyOS ArkTS调用Native接口机制咨询
163浏览 • 1回复 待解决
HarmonyOS ArkTS具备koltin扩展函数能力吗
146浏览 • 1回复 待解决
HarmonyOS ArkTS中如何实现泛型构造函数
138浏览 • 1回复 待解决
如何为 C++ 提供回调函数
2057浏览 • 1回复 待解决
TS侧如何批量传递函数native
616浏览 • 1回复 待解决
通过Native 调用c++层实现文本绘制
626浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS的对象
1834浏览 • 1回复 待解决
c/c++层主动调用ArkTS存在问题
78浏览 • 1回复 待解决
aki是否支持C++虚函数和callback?
646浏览 • 1回复 待解决
Native如何调ArkTS的方法
1828浏览 • 1回复 待解决