diff --git a/frameworks/native/ability/native/BUILD.gn b/frameworks/native/ability/native/BUILD.gn index dc4b4b7d67..8d4c4ea535 100644 --- a/frameworks/native/ability/native/BUILD.gn +++ b/frameworks/native/ability/native/BUILD.gn @@ -935,6 +935,7 @@ ohos_shared_library("ui_service_extension") { "ace_engine:ace_uicontent", "c_utils:utils", "common_event_service:cesfwk_innerkits", + "ets_runtime:libark_jsruntime", "eventhandler:libeventhandler", "hilog:libhilog", "hitrace:hitrace_meter", diff --git a/frameworks/native/ability/native/ui_service_extension_ability/js_ui_service_extension.cpp b/frameworks/native/ability/native/ui_service_extension_ability/js_ui_service_extension.cpp index 7ea3738ad2..7538574039 100644 --- a/frameworks/native/ability/native/ui_service_extension_ability/js_ui_service_extension.cpp +++ b/frameworks/native/ability/native/ui_service_extension_ability/js_ui_service_extension.cpp @@ -534,7 +534,13 @@ napi_value JsUIServiceExtension::CallObjectMethod(const char* name, napi_value c } TAG_LOGD(AAFwkTag::UISERVC_EXT, "CallFunction(%{public}s) ok", name); napi_value result = nullptr; + + TryCatch tryCatch(env); napi_call_function(env, obj, method, argc, argv, &result); + if (tryCatch.HasCaught()) { + TAG_LOGE(AAFwkTag::UISERVC_EXT, "HandleUncaughtException"); + reinterpret_cast(env)->HandleUncaughtException(); + } return result; } diff --git a/test/unittest/service_extension_context_test/service_extension_context_test.cpp b/test/unittest/service_extension_context_test/service_extension_context_test.cpp index ef8eb3791f..ddca32e21f 100644 --- a/test/unittest/service_extension_context_test/service_extension_context_test.cpp +++ b/test/unittest/service_extension_context_test/service_extension_context_test.cpp @@ -454,7 +454,7 @@ HWTEST_F(ServiceExtensionContextTest, service_extension_context_StartUIServiceEx int32_t accountId = 1; StartOptions startOptions; ErrCode result = serviceExtensionContextTest.StartUIServiceExtensionAbility(want, accountId); - EXPECT_EQ(CHECK_PERMISSION_FAILED, result); + EXPECT_NE(ERR_OK, result); } /** diff --git a/test/unittest/ui_service_extension_test/ui_service_extension_test.cpp b/test/unittest/ui_service_extension_test/ui_service_extension_test.cpp index a54851967b..7d7418d6c5 100644 --- a/test/unittest/ui_service_extension_test/ui_service_extension_test.cpp +++ b/test/unittest/ui_service_extension_test/ui_service_extension_test.cpp @@ -338,7 +338,7 @@ HWTEST_F(UIServiceExtensionTest, GetWindowOption_0200, TestSize.Level1) extensionWindowConfig->windowAttribute = Rosen::ExtensionWindowAttribute::SUB_WINDOW; extensionWindowConfig->subWindowOptions.isModal = false; extensionWindowConfig->subWindowOptions.isTopmost = true; - int32_t hostWindowId{0}; + int32_t hostWindowId{100}; Runtime::Options options; auto runtime = Runtime::Create(options); @@ -363,7 +363,7 @@ HWTEST_F(UIServiceExtensionTest, GetWindowOption_0300, TestSize.Level1) extensionWindowConfig->windowAttribute = Rosen::ExtensionWindowAttribute::SUB_WINDOW; extensionWindowConfig->subWindowOptions.isModal = true; extensionWindowConfig->subWindowOptions.isTopmost = false; - int32_t hostWindowId{0}; + int32_t hostWindowId{100}; Runtime::Options options; auto runtime = Runtime::Create(options);