diff --git a/frameworks/kits/ability/native/src/new_ability_impl.cpp b/frameworks/kits/ability/native/src/new_ability_impl.cpp index f40294bd897b12a693a5bba35045c705442294de..a176a64c3bb282f29789ca7f0a0dc51a5bdfb5dc 100644 --- a/frameworks/kits/ability/native/src/new_ability_impl.cpp +++ b/frameworks/kits/ability/native/src/new_ability_impl.cpp @@ -96,9 +96,15 @@ bool NewAbilityImpl::AbilityTransaction(const Want &want, const AAFwk::LifeCycle NewWant(want); } #ifdef SUPPORT_GRAPHICS - Foreground(want); + if (lifecycleState_ == AAFwk::ABILITY_STATE_FOREGROUND_NEW) { + if (ability_) { + ability_->RequsetFocus(want); + } + } else { + Foreground(want); + ret = false; + } #endif - ret = false; break; } case AAFwk::ABILITY_STATE_BACKGROUND_NEW: {