1# @ohos.app.ability.autoStartupManager (autoStartupManager) (System API) 2 3The **autoStartupManager** module provides APIs for listening for auto-startup status changes of application components and setting application components to automatically start upon system boot. 4 5> **NOTE** 6> 7> The initial APIs of this module are supported since API version 11. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8> 9> The APIs of this module can be used only in the stage model. 10> 11> The APIs provided by this module are system APIs. 12 13## Modules to Import 14 15```ts 16import { autoStartupManager } from '@kit.AbilityKit'; 17``` 18 19## on 20 21on(type: 'systemAutoStartup', callback: AutoStartupCallback): void 22 23Subscribes to auto-startup status change events of an application component. 24 25**Required permissions**: ohos.permission.MANAGE_APP_BOOT 26 27**System capability**: SystemCapability.Ability.AbilityRuntime.Core 28 29**Parameters** 30 31| Name | Type | Mandatory | Description | 32| --------- | ---------------------------------------- | ---- | -------------- | 33| type | string | Yes | Event type. The value is fixed at **systemAutoStartup**, which can be called only by system applications.| 34| callback | [AutoStartupCallback](js-apis-inner-application-autoStartupCallback-sys.md) | Yes | Callback used for subscription. | 35 36**Example** 37 38```ts 39import { autoStartupManager, common } from '@kit.AbilityKit'; 40 41try { 42 autoStartupManager.on('systemAutoStartup', { 43 onAutoStartupOn(data: common.AutoStartupInfo) { 44 console.info('===> autostartupmanager onAutoStartupOn data: ' + JSON.stringify(data)); 45 }, 46 onAutoStartupOff(data: common.AutoStartupInfo) { 47 console.info('===> autostartupmanager onAutoStartupOff data: ' + JSON.stringify(data)); 48 } 49 }); 50} catch (err) { 51 console.info('===> autostartupmanager on throw err: ' + JSON.stringify(err)); 52} 53``` 54 55## off 56 57off(type: 'systemAutoStartup', callback?: AutoStartupCallback): void 58 59Unsubscribes from auto-startup status change events of an application component. 60 61**Required permissions**: ohos.permission.MANAGE_APP_BOOT 62 63**System capability**: SystemCapability.Ability.AbilityRuntime.Core 64 65**Parameters** 66 67| Name | Type | Mandatory | Description | 68| --------- | ---------------------------------------- | ---- | -------------- | 69| type | string | Yes | Event type. The value is fixed at **systemAutoStartup**, which can be called only by system applications.| 70| callback | [AutoStartupCallback](js-apis-inner-application-autoStartupCallback-sys.md) | No| Callback used for unsubscription.| 71 72**Example** 73 74```ts 75import { autoStartupManager, common } from '@kit.AbilityKit'; 76 77try { 78 autoStartupManager.off('systemAutoStartup', { 79 onAutoStartupOn(data: common.AutoStartupInfo) { 80 console.info('===> autostartupmanager onAutoStartupOn data: ' + JSON.stringify(data)); 81 }, 82 onAutoStartupOff(data: common.AutoStartupInfo) { 83 console.info('===> autostartupmanager onAutoStartupOff data: ' + JSON.stringify(data)); 84 } 85 }); 86} catch (err) { 87 console.info('===> autostartupmanager off throw err: ' + JSON.stringify(err)); 88} 89``` 90 91## setApplicationAutoStartup 92 93setApplicationAutoStartup(info: AutoStartupInfo, callback: AsyncCallback\<void\>): void 94 95Sets an application component to automatically start upon system boot. This API uses an asynchronous callback to return the result. 96 97**Required permissions**: ohos.permission.MANAGE_APP_BOOT 98 99**System capability**: SystemCapability.Ability.AbilityRuntime.Core 100 101**Parameters** 102 103| Name | Type | Mandatory | Description | 104| --------- | ---------------------------------------- | ---- | -------------- | 105| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md) | Yes | Information about the target application component.| 106| callback | AsyncCallback\<void\> | Yes| Callback used to return the result. If the setting is successful, **err** is **undefined**; otherwise, **err** is an error object.| 107 108**Error codes** 109 110| ID| Error Message | 111| -------- | -------------------------------------------- | 112| 16000004 | Failed to start the invisible ability. | 113| 16000013 | The application is controlled by EDM. | 114| 16000050 | Internal error. | 115 116For details about the error codes, see [Ability Error Codes](errorcode-ability.md). 117 118**Example** 119 120```ts 121import { autoStartupManager } from '@kit.AbilityKit'; 122 123try { 124 autoStartupManager.setApplicationAutoStartup({ 125 bundleName: 'com.example.autostartupapp', 126 abilityName: 'EntryAbility' 127 }, (err, data) => { 128 console.info('====> setApplicationAutoStartup: ' + JSON.stringify(err) + ' data: ' + JSON.stringify(data)); 129 }); 130} catch (err) { 131 console.info('====> setApplicationAutoStartup throw err: ' + JSON.stringify(err)); 132} 133``` 134 135## setApplicationAutoStartup 136 137setApplicationAutoStartup(info: AutoStartupInfo): Promise\<void\> 138 139Sets an application component to automatically start upon system boot. This API uses a promise to return the result. 140 141**Required permissions**: ohos.permission.MANAGE_APP_BOOT 142 143**System capability**: SystemCapability.Ability.AbilityRuntime.Core 144 145**Parameters** 146 147| Name| Type | Mandatory| Description | 148| ------ | --------------- | ---- | ---------------------------- | 149| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md) | Yes | Information about the target application component.| 150 151**Return value** 152 153| Type | Description | 154| ------------- | ------------------------------------------------------------ | 155| Promise\<void\> | Promise that returns no value.| 156 157**Error codes** 158 159| ID| Error Message | 160| -------- | -------------------------------------------- | 161| 16000004 | Failed to start the invisible ability. | 162| 16000013 | The application is controlled by EDM. | 163| 16000050 | Internal error. | 164 165For details about the error codes, see [Ability Error Codes](errorcode-ability.md). 166 167**Example** 168 169```ts 170import { autoStartupManager } from '@kit.AbilityKit'; 171import { BusinessError } from '@kit.BasicServicesKit'; 172 173try { 174 autoStartupManager.setApplicationAutoStartup({ 175 bundleName: 'com.example.autostartupapp', 176 abilityName: 'EntryAbility' 177 }).then((data: void) => { 178 console.info('====> setApplicationAutoStartup data: ' + JSON.stringify(data)); 179 }).catch((err: BusinessError) => { 180 console.info('====> setApplicationAutoStartup err: ' + JSON.stringify(err)); 181 }); 182} catch (err) { 183 console.info('====> setApplicationAutoStartup throw err: ' + JSON.stringify(err)); 184} 185``` 186 187## cancelApplicationAutoStartup 188 189cancelApplicationAutoStartup(info: AutoStartupInfo, callback: AsyncCallback\<void\>): void 190 191Cancels the auto-startup setting for an application component. This API uses an asynchronous callback to return the result. 192 193**Required permissions**: ohos.permission.MANAGE_APP_BOOT 194 195**System capability**: SystemCapability.Ability.AbilityRuntime.Core 196 197**Parameters** 198 199| Name | Type | Mandatory | Description | 200| --------- | ---------------------------------------- | ---- | -------------- | 201| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md) | Yes| Information about the target application component.| 202| callback | AsyncCallback\<void\> | Yes | Callback used to return the result. If the cancellation is successful, **err** is **undefined**; otherwise, **err** is an error object.| 203 204**Error codes** 205 206| ID| Error Message | 207| -------- | -------------------------------------------- | 208| 16000004 | Failed to start the invisible ability. | 209| 16000013 | The application is controlled by EDM. | 210| 16000050 | Internal error. | 211 212For details about the error codes, see [Ability Error Codes](errorcode-ability.md). 213 214**Example** 215 216```ts 217import { autoStartupManager } from '@kit.AbilityKit'; 218 219try { 220 autoStartupManager.cancelApplicationAutoStartup({ 221 bundleName: 'com.example.autostartupapp', 222 abilityName: 'EntryAbility' 223 }, (err, data) => { 224 console.info('====> cancelApplicationAutoStartup err: ' + JSON.stringify(err) + ' data: ' + JSON.stringify(data)); 225 }); 226} catch (err) { 227 console.info('====> cancelApplicationAutoStartup throw err: ' + JSON.stringify(err)); 228} 229``` 230 231## cancelApplicationAutoStartup 232 233cancelApplicationAutoStartup(info: AutoStartupInfo): Promise\<void\> 234 235Cancels the auto-startup setting for an application component. This API uses a promise to return the result. 236 237**Required permissions**: ohos.permission.MANAGE_APP_BOOT 238 239**System capability**: SystemCapability.Ability.AbilityRuntime.Core 240 241**Parameters** 242 243| Name | Type | Mandatory | Description | 244| --------- | ---------------------------------------- | ---- | -------------- | 245| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md) | Yes| Information about the target application component.| 246 247**Return value** 248 249| Type | Description | 250| ------------- | ------------------------------------------------------------ | 251| Promise\<void\> | Promise that returns no value.| 252 253**Error codes** 254 255| ID| Error Message | 256| -------- | -------------------------------------------- | 257| 16000004 | Failed to start the invisible ability. | 258| 16000013 | The application is controlled by EDM. | 259| 16000050 | Internal error. | 260 261For details about the error codes, see [Ability Error Codes](errorcode-ability.md). 262 263**Example** 264 265```ts 266import { autoStartupManager } from '@kit.AbilityKit'; 267import { BusinessError } from '@kit.BasicServicesKit'; 268 269try { 270 autoStartupManager.cancelApplicationAutoStartup({ 271 bundleName: 'com.example.autostartupapp', 272 abilityName: 'EntryAbility' 273 }).then((data: void) => { 274 console.info('====> cancelApplicationAutoStartup data: ' + JSON.stringify(data)); 275 }).catch((err: BusinessError) => { 276 console.info('====> cancelApplicationAutoStartup err: ' + JSON.stringify(err)); 277 }); 278} catch (err) { 279 console.info('====> cancelApplicationAutoStartup throw err: ' + JSON.stringify(err)); 280} 281``` 282 283## queryAllAutoStartupApplications 284 285queryAllAutoStartupApplications(callback: AsyncCallback\<Array\<AutoStartupInfo\>\>): void 286 287Obtains information about all auto-startup application components. This API uses an asynchronous callback to return the result. 288 289**Required permissions**: ohos.permission.MANAGE_APP_BOOT 290 291**System capability**: SystemCapability.Ability.AbilityRuntime.Core 292 293**Parameters** 294 295| Name | Type | Mandatory | Description | 296| --------- | ---------------------------------------- | ---- | -------------- | 297| callback | AsyncCallback\<Array\<[AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)\>\> | Yes | Callback used to return the result. If the information is obtained, **err** is **undefined** and **data** is **Array\<[AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)\>**; otherwise, **err** is an error object. | 298 299**Error codes** 300 301| ID| Error Message| 302| ------- | -------- | 303| 16000050 | Internal error. | 304 305For details about the error codes, see [Ability Error Codes](errorcode-ability.md). 306 307**Example** 308 309```ts 310import { autoStartupManager } from '@kit.AbilityKit'; 311 312try { 313 autoStartupManager.queryAllAutoStartupApplications((err, data) => { 314 console.info('====> queryAllAutoStartupApplications err: ' + JSON.stringify(err) + ' data: ' + JSON.stringify(data)); 315 }); 316} catch (err) { 317 console.info('====> queryAllAutoStartupApplications throw err: ' + JSON.stringify(err)); 318} 319``` 320 321## queryAllAutoStartupApplications 322 323 queryAllAutoStartupApplications(): Promise\<Array\<AutoStartupInfo\>\> 324 325Obtains information about all auto-startup application components. This API uses a promise to return the result. 326 327**Required permissions**: ohos.permission.MANAGE_APP_BOOT 328 329**System capability**: SystemCapability.Ability.AbilityRuntime.Core 330 331**Return value** 332 333| Type | Description | 334| ------------------------------- | ------------------------------------------------------------ | 335| Promise\<Array\<[AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)\>\> | Promise used to return the information obtained.| 336 337**Error codes** 338 339| ID| Error Message| 340| ------- | -------- | 341| 16000050 | Internal error. | 342 343For details about the error codes, see [Ability Error Codes](errorcode-ability.md). 344 345**Example** 346 347```ts 348import { autoStartupManager, common } from '@kit.AbilityKit'; 349import { BusinessError } from '@kit.BasicServicesKit'; 350 351try { 352 autoStartupManager.queryAllAutoStartupApplications().then((autoStartupInfo: common.AutoStartupInfo[]) => { 353 console.info('====> queryAllAutoStartupApplications data: ' + JSON.stringify(autoStartupInfo)); 354 }).catch((err: BusinessError) => { 355 console.info('====> queryAllAutoStartupApplications err: ' + JSON.stringify(err)); 356 }); 357} catch (err) { 358 console.info('====> queryAllAutoStartupApplications throw err: ' + JSON.stringify(err)); 359} 360``` 361