diff --git a/frameworks/kits/ability/native/src/ability.cpp b/frameworks/kits/ability/native/src/ability.cpp index ba9977f6e9491d43574336b3ff14e429a5107efe..ae3d6b23de280774cf4d049aa2b7bac7ca1cb7b2 100644 --- a/frameworks/kits/ability/native/src/ability.cpp +++ b/frameworks/kits/ability/native/src/ability.cpp @@ -28,6 +28,8 @@ REGISTER_AA(Ability) const std::string Ability::SYSTEM_UI("com.ohos.systemui"); const std::string Ability::STATUS_BAR("com.ohos.systemui.statusbar.MainAbility"); const std::string Ability::NAVIGATION_BAR("com.ohos.systemui.navigationbar.MainAbility"); +const std::string DEVICE_MANAGER_BUNDLE_NAME = "com.ohos.devicemanagerui"; +const std::string DEVICE_MANAGER_NAME = "com.ohos.devicemanagerui.MainAbility"; void Ability::Init(const std::shared_ptr &abilityInfo, const std::shared_ptr &application, std::shared_ptr &handler, const sptr &token) @@ -89,6 +91,11 @@ void Ability::OnStart(const Want &want) winType = OHOS::WindowType::WINDOW_TYPE_ALARM_SCREEN; } + if (abilityInfo_->bundleName == DEVICE_MANAGER_BUNDLE_NAME && + abilityInfo_->name == DEVICE_MANAGER_NAME) { + winType = OHOS::WindowType::WINDOW_TYPE_ALARM_SCREEN; + } + config->SetWindowType(winType); APP_LOGI("Ability::OnStart bundleName:%{public}s abilityName:%{public}s: set config.type = %{public}d", abilityInfo_->bundleName.c_str(), diff --git a/services/abilitymgr/include/ability_config.h b/services/abilitymgr/include/ability_config.h index a69b8cf083e50f776950909e9259af78f2d715f9..469cee3ae09cb349338de9ee0021bdbc795fcdc2 100644 --- a/services/abilitymgr/include/ability_config.h +++ b/services/abilitymgr/include/ability_config.h @@ -32,6 +32,9 @@ const std::string SYSTEM_DIALOG_NAME = "com.ohos.systemui.systemdialog.MainAbili const std::string SYSTEM_DIALOG_REQUEST_PERMISSIONS = "OHOS_RESULT_PERMISSIONS_LIST_YES"; const std::string SYSTEM_DIALOG_CALLER_BUNDLENAME = "OHOS_RESULT_CALLER_BUNDLERNAME"; const std::string SYSTEM_DIALOG_KEY = "OHOS_RESULT_PERMISSION_KEY"; + +const std::string DEVICE_MANAGER_BUNDLE_NAME = "com.ohos.devicemanagerui"; +const std::string DEVICE_MANAGER_NAME = "com.ohos.devicemanagerui.MainAbility"; } // namespace AbilityConfig } // namespace AAFwk } // namespace OHOS diff --git a/services/abilitymgr/include/ability_util.h b/services/abilitymgr/include/ability_util.h index 067adc9b3cc71c7b768d397ac62c6c3f5664596f..156358bc88e826e54d3b217550c9c421cce6359f 100644 --- a/services/abilitymgr/include/ability_util.h +++ b/services/abilitymgr/include/ability_util.h @@ -49,7 +49,15 @@ namespace AbilitUtil { [[maybe_unused]] static bool IsSystemDialogAbility(const std::string &bundleName, const std::string &abilityName) { - return (abilityName == AbilityConfig::SYSTEM_DIALOG_NAME) && (bundleName == AbilityConfig::SYSTEM_UI_BUNDLE_NAME); + if (abilityName == AbilityConfig::SYSTEM_DIALOG_NAME && bundleName == AbilityConfig::SYSTEM_UI_BUNDLE_NAME) { + return true; + } + + if (abilityName == AbilityConfig::DEVICE_MANAGER_NAME && bundleName == AbilityConfig::DEVICE_MANAGER_BUNDLE_NAME) { + return true; + } + + return false; } } // namespace AbilitUtil } // namespace AAFwk