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