1# 元能力子系统变更说明 2 3## cl.ability.1 ApplicationContext开机自启动接口删除 4 5**访问级别** 6 7公开接口。 8 9**变更原因** 10 11根据安全隐私要求,删除ApplicationContext开机自启动接口,应用无法主动申请和设置自启状态。 12 13**变更影响** 14 15该变更为非兼容性变更。基于此前版本开发的应用,需删除ApplicationContext开机自启动接口使用,变更前的接口已经不能正常使用,否则会影响原有功能。 16 17**API Level** 18 1911 20 21**变更发生版本** 22 23从OpenHarmony SDK 4.1.6.5开始。 24 25**变更的接口/组件** 26 27```js 28 on(type: 'abilityAutoStartup', callback: AutoStartupCallback): void; 29 off(type: 'abilityAutoStartup', callback?: AutoStartupCallback): void; 30 setAutoStartup(info: AutoStartupInfo, callback: AsyncCallback<void>): void; 31 setAutoStartup(info: AutoStartupInfo): Promise<void>; 32 cancelAutoStartup(info: AutoStartupInfo, callback: AsyncCallback<void>): void; 33 cancelAutoStartup(info: AutoStartupInfo): Promise<void>; 34 isAutoStartup(info: AutoStartupInfo, callback: AsyncCallback<boolean>): void; 35 isAutoStartup(info: AutoStartupInfo): Promise<boolean>; 36``` 37 38- 变更前: 39 40```js 41 /** 42 * Register the listener that watches for current application auto startup state. 43 * 44 * @param { 'abilityAutoStartup' } type - Indicates the type of event. 45 * @param { AutoStartupCallback } callback - Auto startup callback. 46 * @throws { BusinessError } 401 - The parameter check failed. 47 * @syscap SystemCapability.Ability.AbilityRuntime.Core 48 * @StageModelOnly 49 * @since 11 50 */ 51 on(type: 'abilityAutoStartup', callback: AutoStartupCallback): void; 52 53 /** 54 * Unregister listener that watches for current application auto startup state. 55 * 56 * @param { 'abilityAutoStartup' } type - Indicates the type of event. 57 * @param { AutoStartupCallback } [callback] - Auto startup callback. 58 * @throws { BusinessError } 401 - The parameter check failed. 59 * @syscap SystemCapability.Ability.AbilityRuntime.Core 60 * @StageModelOnly 61 * @since 11 62 */ 63 off(type: 'abilityAutoStartup', callback?: AutoStartupCallback): void; 64 65 /** 66 * Set current application auto startup state. 67 * 68 * @param { AutoStartupInfo } info - The application info. 69 * @param { AsyncCallback<void> } callback - The callback of setAutoStartup. 70 * @throws { BusinessError } 401 - The parameter check failed. 71 * @syscap SystemCapability.Ability.AbilityRuntime.Core 72 * @StageModelOnly 73 * @since 11 74 */ 75 setAutoStartup(info: AutoStartupInfo, callback: AsyncCallback<void>): void; 76 77 /** 78 * Set current application auto startup state. 79 * 80 * @param { AutoStartupInfo } info - The application info. 81 * @returns { Promise<void> } The promise returned by the function. 82 * @throws { BusinessError } 401 - The parameter check failed. 83 * @syscap SystemCapability.Ability.AbilityRuntime.Core 84 * @StageModelOnly 85 * @since 11 86 */ 87 setAutoStartup(info: AutoStartupInfo): Promise<void>; 88 89 /** 90 * Cancel current application auto startup state. 91 * 92 * @param { AutoStartupInfo } info - The application info. 93 * @param { AsyncCallback<void> } callback - The callback of cancelAutoStartup. 94 * @throws { BusinessError } 401 - The parameter check failed. 95 * @syscap SystemCapability.Ability.AbilityRuntime.Core 96 * @StageModelOnly 97 * @since 11 98 */ 99 cancelAutoStartup(info: AutoStartupInfo, callback: AsyncCallback<void>): void; 100 101 /** 102 * Cancel current application auto startup state. 103 * 104 * @param { AutoStartupInfo } info - The application info. 105 * @returns { Promise<void> } The promise returned by the function. 106 * @throws { BusinessError } 401 - The parameter check failed. 107 * @syscap SystemCapability.Ability.AbilityRuntime.Core 108 * @StageModelOnly 109 * @since 11 110 */ 111 cancelAutoStartup(info: AutoStartupInfo): Promise<void>; 112 113 /** 114 * Check if the current application is auto startup state. 115 * 116 * @param { AutoStartupInfo } info - The application info. 117 * @param { AsyncCallback<boolean> } callback - The callback of isAutoStartup. 118 * @throws { BusinessError } 401 - The parameter check failed. 119 * @syscap SystemCapability.Ability.AbilityRuntime.Core 120 * @StageModelOnly 121 * @since 11 122 */ 123 isAutoStartup(info: AutoStartupInfo, callback: AsyncCallback<boolean>): void; 124 125 /** 126 * Check if the current application is auto startup state. 127 * 128 * @param { AutoStartupInfo } info - The application info. 129 * @returns { Promise<boolean> } The promise returned by the function. 130 * @throws { BusinessError } 401 - The parameter check failed. 131 * @syscap SystemCapability.Ability.AbilityRuntime.Core 132 * @StageModelOnly 133 * @since 11 134 */ 135 isAutoStartup(info: AutoStartupInfo): Promise<boolean>; 136``` 137 138**适配指导** 139 140该类接口下线后,应用已无法使用该类接口。 141 142 143## cl.ability.2 AutoStartupInfo接口使用权限变更 144 145**访问级别** 146 147公开接口。 148 149**变更原因** 150 151ApplicationContext开机自启动接口删除后,AutoStartupInfo接口无三方应用使用场景,变更为系统接口。 152 153**变更影响** 154 155该变更为非兼容性变更。基于此前版本开发的应用,需删除AutoStartupInfo接口使用,变更前的接口已经不能正常使用,否则会影响原有功能。 156 157**API Level** 158 15911 160 161**变更发生版本** 162 163从OpenHarmony SDK 4.1.6.5开始。 164 165**变更的接口/组件** 166 167```js 168 AutoStartupInfo { 169 bundleName: string; 170 moduleName?: string; 171 abilityName: string; 172 abilityTypeName?: string; 173 } 174``` 175 176- 变更前: 177 178```js 179 /** 180 * Bundle name 181 * 182 * @type { string } 183 * @syscap SystemCapability.Ability.AbilityRuntime.Core 184 * @StageModelOnly 185 * @since 11 186 */ 187 bundleName: string; 188 189 /** 190 * Module name 191 * 192 * @type { ?string } 193 * @syscap SystemCapability.Ability.AbilityRuntime.Core 194 * @StageModelOnly 195 * @since 11 196 */ 197 moduleName?: string; 198 199 /** 200 * Ability Name 201 * 202 * @type { string } 203 * @syscap SystemCapability.Ability.AbilityRuntime.Core 204 * @StageModelOnly 205 * @since 11 206 */ 207 abilityName: string; 208 209 /** 210 * Ability Type Name 211 * 212 * @type { ?string } 213 * @syscap SystemCapability.Ability.AbilityRuntime.Core 214 * @StageModelOnly 215 * @since 11 216 */ 217 abilityTypeName?: string; 218``` 219 220- 变更后: 221 222```js 223 /** 224 * Bundle name 225 * 226 * @type { string } 227 * @syscap SystemCapability.Ability.AbilityRuntime.Core 228 * @systemapi 229 * @StageModelOnly 230 * @since 11 231 */ 232 bundleName: string; 233 234 /** 235 * Module name 236 * 237 * @type { ?string } 238 * @syscap SystemCapability.Ability.AbilityRuntime.Core 239 * @systemapi 240 * @StageModelOnly 241 * @since 11 242 */ 243 moduleName?: string; 244 245 /** 246 * Ability Name 247 * 248 * @type { string } 249 * @syscap SystemCapability.Ability.AbilityRuntime.Core 250 * @systemapi 251 * @StageModelOnly 252 * @since 11 253 */ 254 abilityName: string; 255 256 /** 257 * Ability Type Name 258 * 259 * @type { ?string } 260 * @syscap SystemCapability.Ability.AbilityRuntime.Core 261 * @systemapi 262 * @StageModelOnly 263 * @since 11 264 */ 265 abilityTypeName?: string; 266``` 267 268**适配指导** 269 270该接口变更为系统接口后,三方应用无法使用。 271系统应用可正常使用。 272示例代码如下: 273 274```ts 275import AutoStartupManager from '@ohos.app.ability.autoStartupManager'; 276import { BusinessError } from '@ohos.base'; 277 278try { 279 AutoStartupManager.setApplicationAutoStartup({ 280 bundleName: 'com.example.autostartupapp', 281 abilityName: 'EntryAbility' 282 }).then((data: void) => { 283 console.info('====> setApplicationAutoStartup data: ' + JSON.stringify(data)); 284 }).catch((err: BusinessError) => { 285 console.info('====> setApplicationAutoStartup err: ' + JSON.stringify(err)); 286 }); 287} catch (err) { 288 console.info('====> setApplicationAutoStartup throw err: ' + JSON.stringify(err)); 289} 290``` 291 292 293## cl.ability.3 AutoStartupCallback接口使用权限变更 294**访问级别** 295 296公开接口。 297 298**变更原因** 299 300ApplicationContext开机自启动接口删除后,AutoStartupCallback接口无三方应用使用场景,变更为系统接口。 301 302**变更影响** 303 304该变更为非兼容性变更。基于此前版本开发的应用,需删除AutoStartupCallback接口使用,变更前的接口已经不能正常使用,否则会影响原有功能。 305 306**API Level** 307 30811 309 310**变更发生版本** 311 312从OpenHarmony SDK 4.1.6.5开始。 313 314**变更的接口/组件** 315 316- 涉及接口 317 318```js 319 onAutoStartupOn(info: AutoStartupInfo): void; 320 onAutoStartupOff(info: AutoStartupInfo): void; 321``` 322 323- 变更前: 324 325```js 326 /** 327 * When the application's auto startup state is set to on, this function is called. 328 * 329 * @param { AutoStartupInfo } info - Auto startup info. 330 * @syscap SystemCapability.Ability.AbilityRuntime.Core 331 * @StageModelOnly 332 * @since 11 333 */ 334 onAutoStartupOn(info: AutoStartupInfo): void; 335 336 /** 337 * When the application's auto startup state is set to off, this function is called. 338 * 339 * @param { AutoStartupInfo } info - Auto startup info. 340 * @syscap SystemCapability.Ability.AbilityRuntime.Core 341 * @StageModelOnly 342 * @since 11 343 */ 344 onAutoStartupOff(info: AutoStartupInfo): void; 345``` 346 347- 变更后: 348 349```js 350 /** 351 * When the application's auto startup state is set to on, this function is called. 352 * 353 * @param { AutoStartupInfo } info - Auto startup info. 354 * @syscap SystemCapability.Ability.AbilityRuntime.Core 355 * @systemapi 356 * @StageModelOnly 357 * @since 11 358 */ 359 onAutoStartupOn(info: AutoStartupInfo): void; 360 361 /** 362 * When the application's auto startup state is set to off, this function is called. 363 * 364 * @param { AutoStartupInfo } info - Auto startup info. 365 * @syscap SystemCapability.Ability.AbilityRuntime.Core 366 * @systemapi 367 * @StageModelOnly 368 * @since 11 369 */ 370 onAutoStartupOff(info: AutoStartupInfo): void; 371``` 372 373**适配指导** 374 375该接口变更为系统接口后,三方应用已无法使用。 376系统应用可正常使用。 377示例代码如下: 378 379```ts 380import AutoStartupManager from '@ohos.app.ability.autoStartupManager'; 381import common from '@ohos.app.ability.common'; 382 383try { 384 AutoStartupManager.on('systemAutoStartup', { 385 onAutoStartupOn(data: common.AutoStartupInfo) { 386 console.info('===> autostartupmanager onAutoStartupOn data: ' + JSON.stringify(data)); 387 }, 388 onAutoStartupOff(data: common.AutoStartupInfo) { 389 console.info('===> autostartupmanager onAutoStartupOff data: ' + JSON.stringify(data)); 390 } 391 }); 392} catch (err) { 393 console.info('===> autostartupmanager on throw err: ' + JSON.stringify(err)); 394} 395``` 396