diff --git a/frameworks/ets/ani/application/src/ets_application.cpp b/frameworks/ets/ani/application/src/ets_application.cpp index 80e8e051ca2930b35b28f6611ea522d8b71adbdb..67e2be4d68276413a38004ef23c234938809756d 100644 --- a/frameworks/ets/ani/application/src/ets_application.cpp +++ b/frameworks/ets/ani/application/src/ets_application.cpp @@ -302,16 +302,22 @@ ani_object EtsApplication::GetApplicationContext(ani_env *env) TAG_LOGD(AAFwkTag::APPKIT, "GetApplicationContext Call"); if (env == nullptr) { TAG_LOGE(AAFwkTag::APPKIT, "null env"); - return {}; + return nullptr; } auto etsReference = AbilityRuntime::ApplicationContextManager::GetApplicationContextManager().GetEtsGlobalObject(); if (etsReference == nullptr || etsReference->aniRef == nullptr) { - TAG_LOGE(AAFwkTag::APPKIT, "null applicationContextObject"); - AbilityRuntime::EtsErrorUtil::ThrowError(env, AbilityRuntime::AbilityErrorCode::ERROR_CODE_INNER); - ani_ref result = nullptr; - env->GetNull(&result); - return static_cast(result); + auto applicationContext = ApplicationContext::GetInstance(); + ani_object applicationContextObject = + EtsApplicationContextUtils::CreateEtsApplicationContext(env, applicationContext); + if (applicationContextObject == nullptr) { + TAG_LOGE(AAFwkTag::APPKIT, "null applicationContextObject"); + AbilityRuntime::EtsErrorUtil::ThrowError(env, AbilityRuntime::AbilityErrorCode::ERROR_CODE_INNER); + ani_ref result = nullptr; + env->GetNull(&result); + return static_cast(result); + } + return applicationContextObject; } return reinterpret_cast(etsReference->aniRef); }