1# Window Subsystem Changelog 2 3## cl.window.1 Input_KeyEvent Injection Changed in the Callback Event Registered by OH_NativeWindowManager_RegisterKeyEventFilter 4 5**Access Level** 6 7Public API 8 9**Reason for Change** 10 11The injected value does not match the enumerated value when the [Input_KeyEventAction](../../../application-dev/reference/apis-input-kit/capi-oh-input-manager-h.md#input_keyeventaction) field of the [Input_KeyEvent](../../../application-dev/reference/apis-input-kit/capi-input-input-keyevent.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). 12 13**Change Impact** 14 15This change is a non-compatible change.<br> 16Before the change, the value of **Input_KeyEventAction** in **Input_KeyEvent** is 1, 2, or 3, which does not match the enumerated values.<br> 17After the change, the value of **Input_KeyEventAction** in **Input_KeyEvent** is 0, 1, or 2, which matches the enumerated values.<br> 18 19**Start API Level** 20 21API version 12 22 23**Change Since** 24 25OpenHarmony SDK 5.0.0.38 26 27**Key API/Component Changes** 28 29Injection implementation of the callback function **OH_NativeWindowManager_KeyEventFilter** registered by calling **OH_NativeWindowManager_RegisterKeyEventFilter** 30 31**Adaptation Guide** 32 33Change the code to the corresponding enumerated values of **Input_KeyEventAction**. 34 35## cl.window.2 Startup Behavior of startAbility and openLink Is Restricted on a Lock Screen 36 37**Access Level** 38 39Public API 40 41**Reason for Change** 42 43Added restrictions on the behavior of randomly starting applications when the screen is locked. 44 45**Change Impact** 46 47This change is a non-compatible change. 48 49Before 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. 50 51After 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. 52 53**Start API Level** 54 556 56 57**Change Since** 58 59OpenHarmony SDK 5.0.0.71 60 61**Key API/Component Changes** 62 63startAbility/openLink 64 65The following APIs are involved: 66 67UIAbilityContext: 68 69- startAbility(want: Want, options?: StartOptions) 70- startAbility(want: Want, callback: AsyncCallback<void>) 71- startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>) 72- startAbilityByCall(want: Want) 73- startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>) 74- startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>) 75- startAbilityForResult(want: Want, options?: StartOptions) 76- startAbilityAsCaller(want: Want, options?: StartOptions) 77- startAbilityAsCaller(want: Want, options: StartOptions, callback: AsyncCallback<void>) 78- startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions) 79- startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback<AbilityResult>) 80- startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>) 81- startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions) 82- startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>) 83- startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>) 84- startRecentAbility(want: Want, options?: StartOptions) 85- startRecentAbility(want: Want, callback: AsyncCallback<void>) 86- startRecentAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>) 87- startAbilityByCallWithAccount(want: Want, accountId: number) 88- startAbilityAsCaller(want: Want, callback: AsyncCallback<void>) 89- openLink(link: string, options?: OpenLinkOptions, callback?: AsyncCallback<AbilityResult>) 90 91ServiceExtensionContext: 92- startAbility(want: Want, options?: StartOptions) 93- startAbility(want: Want, callback: AsyncCallback<void>) 94- startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>) 95- startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions) 96- startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>) 97- startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>) 98- startAbilityByCall(want: Want) 99- startAbilityAsCaller(want: Want, options?: StartOptions) 100- startAbilityAsCaller(want: Want, callback: AsyncCallback<void>) 101- startAbilityAsCaller(want: Want, options: StartOptions, callback: AsyncCallback<void>) 102- startRecentAbility(want: Want, options?: StartOptions) 103- startRecentAbility(want: Want, callback: AsyncCallback<void>) 104- startRecentAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>) 105- startAbilityByCallWithAccount(want: Want, accountId: number) 106- openLink(link:string, options?: OpenLinkOptions) 107 108UIExtensionContext: 109- startAbility(want: Want, options?: StartOptions) 110- startAbility(want: Want, callback: AsyncCallback<void>) 111- startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>) 112- startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>) 113- startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>) 114- startAbilityForResult(want: Want, options?: StartOptions) 115- startAbilityForResultAsCaller(want: Want, options?: StartOptions) 116- openLink(link:string, options?: OpenLinkOptions, callback?: AsyncCallback<AbilityResult>) 117- openAtomicService(appId: string, options?: AtomicServiceOptions) 118 119AbilityDelegator: 120- startAbility(want: Want, callback: AsyncCallback<void>) 121 122InsightIntentContext: 123- startAbility(want: Want, callback: AsyncCallback<void>) 124 125FeatureAbility: 126- startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<number>) 127- startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback<AbilityResult>) 128 129StaticSubscriberExtensionContext: 130- startAbility(want: Want, callback: AsyncCallback<void>) 131 132InputMethodExtensionContext: 133- startAbility(want: Want) 134 135AccessibilityExtensionContext: 136- startAbility(want: Want) 137 138FormExtensionContext: 139- startAbility(want: Want, callback: AsyncCallback<void>) 140 141WindowExtensionContext: 142- startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>) 143 144**Adaptation Guide** 145 146Cancel the calls of the involved APIs on a lock screen. Otherwise, the started application will be closed. 147