1e41f4b71Sopenharmony_ci# Window Subsystem Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.window.1 Input_KeyEvent Injection Changed in the Callback Event Registered by OH_NativeWindowManager_RegisterKeyEventFilter 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci**Access Level** 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciPublic API 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci**Reason for Change** 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciThe injected value does not match the enumerated value when the [Input_KeyEventAction](../../../application-dev/reference/apis-input-kit/input.md#input_keyeventaction) field of the [Input_KeyEvent](../../../application-dev/reference/apis-input-kit/input.md) struct is injected into the callback function. Before the change, the values 1, 2, and 3 of **Input_KeyEventAction** correspond to KEY_ACTION_CANCEL, KEY_ACTION_DOWN, and KEY_ACTION_UP, respectively, whereas the enumerated values are 0 (KEY_ACTION_CANCEL), 1 (KEY_ACTION_DOWN), and 2 (KEY_ACTION_UP). 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci**Change Impact** 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciThis change is a non-compatible change.<br> 16e41f4b71Sopenharmony_ciBefore the change, the value of **Input_KeyEventAction** in **Input_KeyEvent** is 1, 2, or 3, which does not match the enumerated values.<br> 17e41f4b71Sopenharmony_ciAfter the change, the value of **Input_KeyEventAction** in **Input_KeyEvent** is 0, 1, or 2, which matches the enumerated values.<br> 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci**Start API Level** 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ciAPI version 12 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**Change Since** 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciOpenHarmony SDK 5.0.0.38 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci**Key API/Component Changes** 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ciInjection implementation of the callback function **OH_NativeWindowManager_KeyEventFilter** registered by calling **OH_NativeWindowManager_RegisterKeyEventFilter** 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**Adaptation Guide** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ciChange the code to the corresponding enumerated values of **Input_KeyEventAction**. 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci## cl.window.2 Startup Behavior of startAbility and openLink Is Restricted on a Lock Screen 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**Access Level** 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ciPublic API 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci**Reason for Change** 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ciAdded restrictions on the behavior of randomly starting applications when the screen is locked. 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci**Change Impact** 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ciThis change is a non-compatible change. 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciBefore the change: When the screen is locked, the **startAbility** and **openLink** APIs can be called to start an application and keep the application window in the foreground. 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ciAfter the change: When **startAbility** or **openLink** is called to start an application on a lock screen, the application window is blocked by the window manager when it attempts to enter the foreground state, and the window and application are closed. 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci**Start API Level** 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci6 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci**Change Since** 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ciOpenHarmony SDK 5.0.0.71 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci**Key API/Component Changes** 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_cistartAbility/openLink 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ciThe following interfaces are involved: 66e41f4b71Sopenharmony_ci|UIAbilityContext|ServiceExtensionContext|UIExtensionContext| 67e41f4b71Sopenharmony_ci|---|---|---| 68e41f4b71Sopenharmony_ci|startAbility(want: Want, callback: AsyncCallback<void>)|startAbility(want: Want, callback: AsyncCallback<void>)|startAbility(want: Want, callback: AsyncCallback<void>)| 69e41f4b71Sopenharmony_ci|startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>)|startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>)|startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>)| 70e41f4b71Sopenharmony_ci|startAbility(want: Want, options?: StartOptions)|startAbility(want: Want, options?: StartOptions)|startAbility(want: Want, options?: StartOptions)| 71e41f4b71Sopenharmony_ci|startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>)|startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>)|startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>)| 72e41f4b71Sopenharmony_ci|startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>)|startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>)|startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>)| 73e41f4b71Sopenharmony_ci|startAbilityForResult(want: Want, options?: StartOptions)|startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions)|startAbilityForResult(want: Want, options?: StartOptions)| 74e41f4b71Sopenharmony_ci|startAbilityByCall(want: Want)|startAbilityAsCaller(want: Want, callback: AsyncCallback<void>)|openLink(link:string, options?: OpenLinkOptions, callback?: AsyncCallback<AbilityResult>)| 75e41f4b71Sopenharmony_ci|startAbilityAsCaller(want: Want, options?: StartOptions)|startAbilityAsCaller(want: Want, options: StartOptions, callback: AsyncCallback<void>)|openAtomicService(appId: string, options?: AtomicServiceOptions)| 76e41f4b71Sopenharmony_ci|startAbilityAsCaller(want: Want, options: StartOptions, callback: AsyncCallback<void>)|startAbilityAsCaller(want: Want, options?: StartOptions)|startAbilityForResultAsCaller(want: Want, options?: StartOptions)| 77e41f4b71Sopenharmony_ci|openLink(link: string, options?: OpenLinkOptions, callback?: AsyncCallback<AbilityResult>)|startAbilityByCall(want: Want)| 78e41f4b71Sopenharmony_ci|startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback<AbilityResult>)|startRecentAbility(want: Want, callback: AsyncCallback<void>)| 79e41f4b71Sopenharmony_ci|startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>)|startRecentAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>)| 80e41f4b71Sopenharmony_ci|startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions)|startRecentAbility(want: Want, options?: StartOptions)| 81e41f4b71Sopenharmony_ci|startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>)|startAbilityByCallWithAccount(want: Want, accountId: number)| 82e41f4b71Sopenharmony_ci|startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>)|openLink(link:string, options?: OpenLinkOptions)| 83e41f4b71Sopenharmony_ci|startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions)| 84e41f4b71Sopenharmony_ci|startRecentAbility(want: Want, callback: AsyncCallback<void>)| 85e41f4b71Sopenharmony_ci|startRecentAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>)| 86e41f4b71Sopenharmony_ci|startRecentAbility(want: Want, options?: StartOptions)| 87e41f4b71Sopenharmony_ci|startAbilityByCallWithAccount(want: Want, accountId: number)| 88e41f4b71Sopenharmony_ci|startAbilityAsCaller(want: Want, callback: AsyncCallback<void>)| 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci**Adaptation Guide** 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ciCancel the calls of the involved APIs on a lock screen. Otherwise, the started application will be closed. 93