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