1# 无障碍框架子系统变更说明 2 3## cl.accessibility.1 监听器接口访问权限变更 4 5从API11开始,监听器接口增加ohos.permission.READ_ACCESSIBILITY_CONFIG权限校验,错误码返回201,此次属于兼容性变更,开发者需要增加应用权限。 6 7**访问级别** 8 9系统api 10 11**变更原因** 12 13当前使用监听器接口时未检查辅助应用是否具有ohos.permission.READ_ACCESSIBILITY_CONFIG权限,现增加该权限校验,辅助应用无权限时,返回错误码201。 14 15**变更影响** 16 17此次变更为兼容性变更,涉及新增错误码,对开发者而言,应用需要增加ohos.permission.READ_ACCESSIBILITY_CONFIG权限。 18 19**变更发生版本** 20 21从OpenHarmony SDK 4.1.5.2 开始。 22 23**变更的接口** 24 25相较于之前,当辅助应用调用监听器接口时,系统增加ohos.permission.READ_ACCESSIBILITY_CONFIG权限校验,如果不具备该权限,则返回错误码201。 26 27- 涉及接口 28 29| 文件 | 接口 | 30| ------------------------------- | ------------------------------------------------------------ | 31| @ohos.accessibility.config.d.ts | function on(type: 'enabledAccessibilityExtensionListChange', callback: Callback<void>): void; | 32| @ohos.accessibility.config.d.ts | function off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback<void>): void; | 33| @ohos.accessibility.config.d.ts | on(callback: Callback<T>): void; | 34| @ohos.accessibility.config.d.ts | off(callback?: Callback<T>): void; | 35 36- 变更前: 37 38监听器接口不检查辅助应用是否具备ohos.permission.READ_ACCESSIBILITY_CONFIG权限。 39 40```js 41 /** 42 * Register the listener that watches for changes in the enabled status of accessibility extensions. 43 * 44 * @param { 'enabledAccessibilityExtensionListChange' } type Indicates the type of event. 45 * @param { Callback<void> } callback Indicates the listener. 46 * @throws { BusinessError } 202 - Not system App. 47 * @throws { BusinessError } 401 - Input parameter error. 48 * @syscap SystemCapability.BarrierFree.Accessibility.Core 49 * @systemapi 50 * @since 9 51 */ 52 function on(type: 'enabledAccessibilityExtensionListChange', callback: Callback<void>): void; 53 54 /** 55 * Unregister listener that watches for changes in the enabled status of accessibility extensions. 56 * 57 * @param { 'enabledAccessibilityExtensionListChange' } type Indicates the type of event. 58 * @param { Callback<void> } callback Indicates the listener. 59 * @throws { BusinessError } 202 - Not system App. 60 * @throws { BusinessError } 401 - Input parameter error. 61 * @syscap SystemCapability.BarrierFree.Accessibility.Core 62 * @systemapi 63 * @since 9 64 */ 65 function off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback<void>): void; 66 67 /** 68 * Register the listener to listen for configuration changes. 69 * 70 * @param { Callback<T> } callback Indicates the listener. 71 * @throws { BusinessError } 201 - Permission denied. 72 * @throws { BusinessError } 202 - Not system App. 73 * @throws { BusinessError } 401 - Input parameter error. 74 * @syscap SystemCapability.BarrierFree.Accessibility.Core 75 * @systemapi 76 * @since 9 77 */ 78 on(callback: Callback<T>): void; 79 80 /** 81 * Unregister the listener to listen for configuration changes. 82 * 83 * @param { Callback<T> } callback Indicates the listener. 84 * @throws { BusinessError } 202 - Not system App. 85 * @syscap SystemCapability.BarrierFree.Accessibility.Core 86 * @systemapi 87 * @since 9 88 */ 89 off(callback?: Callback<T>): void; 90``` 91 92- 变更后: 93 94监听器接口检查辅助应用是否具备ohos.permission.READ_ACCESSIBILITY_CONFIG权限,如果不具备该权限则返回错误码201。 95 96```js 97 /** 98 * Register the listener that watches for changes in the enabled status of accessibility extensions. 99 * 100 * @permission ohos.permission.READ_ACCESSIBILITY_CONFIG 101 * @param { 'enabledAccessibilityExtensionListChange' } type Indicates the type of event. 102 * @param { Callback<void> } callback Indicates the listener. 103 * @throws { BusinessError } 202 - Not system App. 104 * @throws { BusinessError } 401 - Input parameter error. 105 * @syscap SystemCapability.BarrierFree.Accessibility.Core 106 * @systemapi 107 * @since 9 108 */ 109 function on(type: 'enabledAccessibilityExtensionListChange', callback: Callback<void>): void; 110 111 /** 112 * Unregister listener that watches for changes in the enabled status of accessibility extensions. 113 * 114 * @permission ohos.permission.READ_ACCESSIBILITY_CONFIG 115 * @param { 'enabledAccessibilityExtensionListChange' } type Indicates the type of event. 116 * @param { Callback<void> } callback Indicates the listener. 117 * @throws { BusinessError } 202 - Not system App. 118 * @throws { BusinessError } 401 - Input parameter error. 119 * @syscap SystemCapability.BarrierFree.Accessibility.Core 120 * @systemapi 121 * @since 9 122 */ 123 function off(type: 'enabledAccessibilityExtensionListChange', callback?: Callback<void>): void; 124 125 /** 126 * Register the listener to listen for configuration changes. 127 * 128 * @permission ohos.permission.READ_ACCESSIBILITY_CONFIG 129 * @param { Callback<T> } callback Indicates the listener. 130 * @throws { BusinessError } 201 - Permission denied. 131 * @throws { BusinessError } 202 - Not system App. 132 * @throws { BusinessError } 401 - Input parameter error. 133 * @syscap SystemCapability.BarrierFree.Accessibility.Core 134 * @systemapi 135 * @since 9 136 */ 137 on(callback: Callback<T>): void; 138 139 /** 140 * Unregister the listener to listen for configuration changes. 141 * 142 * @permission ohos.permission.READ_ACCESSIBILITY_CONFIG 143 * @param { Callback<T> } callback Indicates the listener. 144 * @throws { BusinessError } 202 - Not system App. 145 * @syscap SystemCapability.BarrierFree.Accessibility.Core 146 * @systemapi 147 * @since 9 148 */ 149 off(callback?: Callback<T>): void; 150``` 151 152 153**适配指导** 154 155本次修改仅涉及增加监听器接口访问权限,其余行为不变。 156