diff --git a/services/abilitymgr/include/ability_config.h b/services/abilitymgr/include/ability_config.h index 0bf081fb35a19154277ac43ece2f5e114939e4c1..0b1d49dcee8e1f66af6b4b1ce9efde5b7be226de 100644 --- a/services/abilitymgr/include/ability_config.h +++ b/services/abilitymgr/include/ability_config.h @@ -25,8 +25,10 @@ const std::string NAME_ABILITY_MGR_SERVICE = "AbilityManagerService"; const std::string NAME_BUNDLE_MGR_SERVICE = "BundleMgrService"; const std::string SCHEME_DATA_ABILITY = "dataability"; const std::string SYSTEM_UI_BUNDLE_NAME = "com.ohos.systemui"; +const std::string SCREENLOCK_BUNDLE_NAME = "com.ohos.screenlock"; const std::string SYSTEM_UI_STATUS_BAR = "com.ohos.systemui.statusbar.MainAbility"; const std::string SYSTEM_UI_NAVIGATION_BAR = "com.ohos.systemui.navigationbar.MainAbility"; +const std::string SCREENLOCK = "com.ohos.screenlock.MainAbility"; const std::string SYSTEM_DIALOG_NAME = "com.ohos.systemui.systemdialog.MainAbility"; const std::string SYSTEM_DIALOG_REQUEST_PERMISSIONS = "OHOS_RESULT_PERMISSIONS_LIST_YES"; diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index b4837a790348f793d37f1e298d88e099486f5efe..0061898aad1b3d0bfa0f3937c06bf5f2f6608688 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -1989,6 +1989,16 @@ void AbilityManagerService::StartSystemUi(const std::string abilityName) return; } +void AbilityManagerService::StartScreenlock(const std::string abilityName) +{ + HILOG_INFO("Starting system ui app."); + Want want; + want.SetElementName(AbilityConfig::SCREENLOCK_BUNDLE_NAME, abilityName); + HILOG_INFO("Ability name: %{public}s.", abilityName.c_str()); + (void)StartAbility(want, DEFAULT_INVAL_VALUE); + return; +} + int AbilityManagerService::GenerateAbilityRequest( const Want &want, int requestCode, AbilityRequest &request, const sptr &callerToken) { @@ -2655,6 +2665,7 @@ void AbilityManagerService::StartingSystemUiAbility(const SatrtUiMode &mode) case SatrtUiMode::STARTUIBOTH: StartSystemUi(AbilityConfig::SYSTEM_UI_STATUS_BAR); StartSystemUi(AbilityConfig::SYSTEM_UI_NAVIGATION_BAR); + StartScreenlock(AbilityConfig::SCREENLOCK); break; default: HILOG_INFO("Input mode error ...");