1# @ohos.app.ability.autoStartupManager(autoStartupManager)(系统接口)
2
3autoStartupManager模块提供注册、注销监听应用开机自启动状态变化的回调函数的能力。
4
5> **说明:**
6>
7> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 本模块接口仅可在Stage模型下使用。
10>
11> 本模块为系统接口。
12
13## 导入模块
14
15```ts
16import { autoStartupManager } from '@kit.AbilityKit';
17```
18
19## on
20
21on(type: 'systemAutoStartup', callback: AutoStartupCallback): void
22
23注册监听应用组件开机自启动状态变化。
24
25**需要权限**:ohos.permission.MANAGE_APP_BOOT
26
27**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
28
29**参数**:
30
31| 参数名        | 类型                                       | 必填   | 说明             |
32| --------- | ---------------------------------------- | ---- | -------------- |
33| type | string | 是    | 固定取值“systemAutoStartup”,表示为系统应用所调用。 |
34| callback  | [AutoStartupCallback](js-apis-inner-application-autoStartupCallback-sys.md)   | 是    | 监听应用组件开机自启动状态变化的回调对象。      |
35
36**示例**:
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
59注销监听应用组件开机自启动状态变化。
60
61**需要权限**:ohos.permission.MANAGE_APP_BOOT
62
63**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
64
65**参数**:
66
67| 参数名        | 类型                                       | 必填   | 说明             |
68| --------- | ---------------------------------------- | ---- | -------------- |
69| type | string              | 是    | 固定取值“systemAutoStartup”,表示为系统应用所调用。 |
70| callback | [AutoStartupCallback](js-apis-inner-application-autoStartupCallback-sys.md)   | 否 | 监听应用组件开机自启动状态变化的回调对象。 |
71
72**示例**:
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
95设置应用组件开机自启动。使用callback异步回调。
96
97**需要权限**:ohos.permission.MANAGE_APP_BOOT
98
99**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
100
101**参数**:
102
103| 参数名        | 类型                                       | 必填   | 说明             |
104| --------- | ---------------------------------------- | ---- | -------------- |
105| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md) | 是    | 要设置的开机自启动应用组件信息。 |
106| callback | AsyncCallback\<void\> | 是 | 回调函数。当设置应用组件开机自启动成功,err为undefined,否则为错误对象。 |
107
108**错误码**:
109
110| 错误码ID | 错误信息                                     |
111| -------- | -------------------------------------------- |
112| 16000004 | Failed to start the invisible ability.           |
113| 16000013 | The application is controlled by EDM.        |
114| 16000050 | Internal error.                              |
115
116请参考[元能力子系统错误码](errorcode-ability.md)。
117
118**示例**:
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
139设置应用组件开机自启动。使用Promise异步回调。
140
141**需要权限**:ohos.permission.MANAGE_APP_BOOT
142
143**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
144
145**参数**:
146
147| 参数名 | 类型            | 必填 | 说明                         |
148| ------ | --------------- | ---- | ---------------------------- |
149| info   | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md) | 是   | 要设置的开机自启动应用组件信息。 |
150
151**返回值:**
152
153| 类型          | 说明                                                         |
154| ------------- | ------------------------------------------------------------ |
155| Promise\<void\> | Promise对象。无返回结果的Promise对象。 |
156
157**错误码**:
158
159| 错误码ID | 错误信息                                     |
160| -------- | -------------------------------------------- |
161| 16000004 | Failed to start the invisible ability.           |
162| 16000013 | The application is controlled by EDM.        |
163| 16000050 | Internal error.                              |
164
165请参考[元能力子系统错误码](errorcode-ability.md)。
166
167**示例**:
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
191取消应用组件开机自启动。使用callback异步回调。
192
193**需要权限**:ohos.permission.MANAGE_APP_BOOT
194
195**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
196
197**参数**:
198
199| 参数名        | 类型                                       | 必填   | 说明             |
200| --------- | ---------------------------------------- | ---- | -------------- |
201| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)   | 是 | 要取消的开机自启动应用组件信息。 |
202| callback | AsyncCallback\<void\> | 是    | 回调函数。当取消应用组件开机自启动成功,err为undefined,否则为错误对象。 |
203
204**错误码**:
205
206| 错误码ID | 错误信息                                     |
207| -------- | -------------------------------------------- |
208| 16000004 | Failed to start the invisible ability.           |
209| 16000013 | The application is controlled by EDM.        |
210| 16000050 | Internal error.                              |
211
212请参考[元能力子系统错误码](errorcode-ability.md)。
213
214**示例**:
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
235取消应用组件开机自启动。使用Promise异步回调。
236
237**需要权限**:ohos.permission.MANAGE_APP_BOOT
238
239**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
240
241**参数**:
242
243| 参数名        | 类型                                       | 必填   | 说明             |
244| --------- | ---------------------------------------- | ---- | -------------- |
245| info | [AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)   | 是 | 要取消的开机自启动应用组件信息。 |
246
247**返回值:**
248
249| 类型          | 说明                                                         |
250| ------------- | ------------------------------------------------------------ |
251| Promise\<void\> | Promise对象。无返回结果的Promise对象。 |
252
253**错误码**:
254
255| 错误码ID | 错误信息                                     |
256| -------- | -------------------------------------------- |
257| 16000004 | Failed to start the invisible ability.           |
258| 16000013 | The application is controlled by EDM.        |
259| 16000050 | Internal error.                              |
260
261请参考[元能力子系统错误码](errorcode-ability.md)。
262
263**示例**:
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
287查询自启动应用组件信息。使用callback异步回调。
288
289**需要权限**:ohos.permission.MANAGE_APP_BOOT
290
291**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
292
293**参数**:
294
295| 参数名        | 类型                                       | 必填   | 说明             |
296| --------- | ---------------------------------------- | ---- | -------------- |
297| callback  | AsyncCallback\<Array\<[AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)\>\> | 是    | 回调函数。当查询自启动应用组件信息成功,err为undefined,data为获取到的Array\<[AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)\>;否则为错误对象。      |
298
299**错误码**:
300
301| 错误码ID | 错误信息 |
302| ------- | -------- |
303| 16000050 | Internal error. |
304
305请参考[元能力子系统错误码](errorcode-ability.md)。
306
307**示例**:
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
325查询自启动应用组件信息。使用Promise异步回调。
326
327**需要权限**:ohos.permission.MANAGE_APP_BOOT
328
329**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
330
331**返回值:**
332
333| 类型                            | 说明                                                         |
334| ------------------------------- | ------------------------------------------------------------ |
335| Promise\<Array\<[AutoStartupInfo](js-apis-inner-application-autoStartupInfo-sys.md)\>\> | Promise对象,返回自启动应用组件信息。 |
336
337**错误码**:
338
339| 错误码ID | 错误信息 |
340| ------- | -------- |
341| 16000050 | Internal error. |
342
343请参考[元能力子系统错误码](errorcode-ability.md)。
344
345**示例**:
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