Napi回调ArkTS,Native侧日志通过监听回调到JS侧
Native侧日志通过监听回调到JS侧
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Native侧获取env具有线程限制,如何在C++子线程触发ArkTS侧回调
761浏览 • 1回复 待解决
如何在Native侧C++子线程直接调用ArkTS接口,不用通过ArkTS侧触发回调
737浏览 • 1回复 待解决
arkts侧hashmap转为native侧
403浏览 • 1回复 待解决
ArkTS侧如何接收Native侧的键值对进行修改并返回到Native侧
778浏览 • 1回复 待解决
Native调用ArkTS侧类函数
329浏览 • 1回复 待解决
如何在Native侧调用ArkTS侧异步方法,并获取异步计算结果到Native侧
804浏览 • 1回复 待解决
Native侧如何获取ArkTS侧Object对象及其成员变量
1047浏览 • 1回复 待解决
ArkTS侧与Native侧分别如何动态加载SO库
717浏览 • 1回复 待解决
通过PixelMap_CreatePixelMap创建的对象,内存在ArkTS侧和Native侧是否共享
751浏览 • 1回复 待解决
native回调到ts层的object,ts层获取其成员变量
259浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
679浏览 • 1回复 待解决
ArkTS侧与Native侧如何进行map数据交互
773浏览 • 1回复 待解决
如何在Native侧释放ArkTS对象
783浏览 • 1回复 待解决
Native侧如何使用hilog打印出日志信息
875浏览 • 1回复 待解决
在Native侧调用ArkTS的全局普通方法
339浏览 • 1回复 待解决
在Native侧如何精准获取ArkTS侧传入的字符串长度
884浏览 • 1回复 待解决
如何在Native侧构建一个ArkTS对象
662浏览 • 1回复 待解决
在Native侧如何处理ArkTS侧传入的字符串被截断的异常场景
621浏览 • 1回复 待解决
native侧的log获取不到
486浏览 • 1回复 待解决
Native侧如何打印char指针
596浏览 • 1回复 待解决
interface回调如何调用
437浏览 • 1回复 待解决
TS侧如何批量传递函数到native侧
351浏览 • 1回复 待解决
WebView页面加载错误回调能力。
291浏览 • 1回复 待解决
OpenHarmony idl如何实现异步回调?
3181浏览 • 1回复 待解决
Emitter如何声明回调函数类型
468浏览 • 1回复 待解决
通过JS侧向Native侧注册日志监听接口,在Native侧任一业务中调用log接口将日志通过回调上报JS侧
具体实现
1、ArkTS侧实现OnLogsListener 接口,实现onLogs方法
2、在native侧增加注册方法,注册该接口,注意这里使用napi_create_reference创建引用,napi_ref由自己管理对象的生命周期,不受NativeScope影响。
3、将OnLogsListener 接口使用GlobalThis包装,(globalThis)在API10中不能使用了,换成其他的方式,使用单例模式,创建类似于GlobalThis的单例。
4、获取单例,并将其通过注册接口的方法注册。注意这里是在UIAbility的onCreate生命周期就将globalThisAdapter注册,此处是将globalThisAdapter注册的,因为这样可以传递更多的信息,如果仅仅实现本功能建议直接注册LogsListener即可。
5、调用其他的业务方法的时候从napi_ref中获取对应的onLogs,执行回调新增callOnLogs方法,当需要回调js的onLogs的方法的时候调用该方法即可
在执行业务方法的时候,调用callOnlogs方法
适配的版本信息
IDE:DevEco Studio 4.0.1.601
SDK:HarmoneyOS 4.0.10.11