#鸿蒙通关秘籍#在鸿蒙开发中调用ArkTS中的newSendable函数步骤详解

HarmonyOS
2024-12-09 14:47:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
银铃笑语SSD

在鸿蒙应用开发中调用ArkTS的newSendable函数包括以下步骤:首先,通过napi_create_ark_runtime创建执行环境;然后使用napi_load_module_with_info加载模块并获取到指定类的属性;接着,查找到newSendable方法并通过napi_call_function调用;最后,处理返回结果并销毁环境。

cpp #include "napi/native_api.h" #include <thread>

static void *CreateArkRuntimeFunc(void *arg) { napi_env env = nullptr; napi_status ret = napi_create_ark_runtime(&env); if (ret != napi_ok) { std::abort(); } napi_value test = nullptr; ret = napi_load_module_with_info(env, "entry/src/main/ets/pages/SendableObjTest", "com.example.myapplication/entry", &test); if (ret != napi_ok) { std::abort(); } napi_value sendableObjTest = nullptr; ret = napi_get_named_property(env, test, "SendableObjTest", &sendableObjTest); if (ret != napi_ok) { std::abort(); } napi_value newSendable = nullptr; ret = napi_get_named_property(env, sendableObjTest, "newSendable", &newSendable); if (ret != napi_ok) { std::abort(); } napi_value result = nullptr; ret = napi_call_function(env, sendableObjTest, newSendable, 0, nullptr, &result); if (ret != napi_ok) { std::abort(); } int value0; napi_get_value_int32(env, result, &value0); if (value0 != 1024) { std::abort(); } ret = napi_destroy_ark_runtime(&env); return nullptr; }

分享
微博
QQ
微信
回复
2024-12-09 17:37:39
相关问题
ArkTS调用C++类成员函数
1494浏览 • 1回复 待解决