• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.enterprise.EnterpriseAdminExtensionAbility(企业设备管理扩展能力)
2<!--Kit: MDM Kit-->
3<!--Subsystem: Customization-->
4<!--Owner: @huanleima-->
5<!--Designer: @liuzuming-->
6<!--Tester: @lpw_work-->
7<!--Adviser: @Brilliantry_Rui-->
8
9本模块提供[企业设备管理扩展能力](../../mdm/mdm-kit-term.md#企业设备管理扩展能力)。
10
11设备管理应用需要存在一个EnterpriseAdminExtensionAbility并重写相关接口,以此具备模块提供的各项能力,比如接收由系统发送的该应用被激活或者解除激活的通知。
12
13> **说明:**
14>
15> 本模块首批接口从API version 12 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
16>
17> 本模块接口仅可在Stage模型下使用。
18>
19
20## 导入模块
21
22```ts
23import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
24```
25
26## EnterpriseAdminExtensionAbility.onAdminEnabled
27
28onAdminEnabled(): void
29
30设备管理应用被激活事件回调。企业管理员或者员工部署设备管理应用,激活设备管理,系统通知设备管理应用已激活admin权限。设备管理应用可在此回调函数中进行初始化策略设置。
31
32**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
33
34**模型约束:** 此接口仅可在Stage模型下使用。
35
36
37**示例:**
38
39```ts
40import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
41
42export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
43  onAdminEnabled() {
44  }
45};
46```
47
48## EnterpriseAdminExtensionAbility.onAdminDisabled
49
50onAdminDisabled(): void
51
52设备管理应用被解除激活事件回调。企业管理员或者员工解除激活设备管理,系统通知设备管理应用已解除激活admin权限。设备管理应用可在此回调函数中通知企业管理员设备已脱管。
53
54**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
55
56**模型约束:** 此接口仅可在Stage模型下使用。
57
58
59**示例:**
60
61```ts
62import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
63
64export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
65  onAdminDisabled() {
66  }
67};
68```
69
70## EnterpriseAdminExtensionAbility.onBundleAdded
71
72onBundleAdded(bundleName: string): void
73
74应用安装事件回调,回调中包含应用包名。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_BUNDLE_ADDED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅应用安装事件,端侧应用安装事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
75
76**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
77
78**模型约束:** 此接口仅可在Stage模型下使用。
79
80
81**参数:**
82
83| 参数名   | 类型                                  | 必填   | 说明      |
84| ----- | ----------------------------------- | ---- | ------- |
85| bundleName | string | 是    | 被安装应用的包名。 |
86
87**示例:**
88
89```ts
90import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
91
92export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
93  onBundleAdded(bundleName: string) {
94    console.info(`Succeeded in calling onBundleAdded callback, added bundle name : ${bundleName}`);
95  }
96};
97```
98
99## EnterpriseAdminExtensionAbility.onBundleAdded<sup>14+</sup>
100
101onBundleAdded(bundleName: string, accountId: number): void
102
103应用安装事件回调,回调中包含应用包名和账号ID。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_BUNDLE_ADDED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅应用安装事件,端侧应用安装事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
104
105**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
106
107**模型约束:** 此接口仅可在Stage模型下使用。
108
109
110**参数:**
111
112| 参数名   | 类型                                  | 必填   | 说明      |
113| ----- | ----------------------------------- | ---- | ------- |
114| bundleName | string | 是    | 被安装应用的包名。 |
115| accountId | number | 是    | 被安装应用所在的用户ID。 |
116
117**示例:**
118
119```ts
120import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
121
122export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
123  // 由于存在同名回调方法onBundleAdded(bundleName: string),该回调方法无accountId参数,因此在实际调用时accountId必须为可选参数,写法请参考示例代码。如果删除accountId后的问号"?",编译会报错。
124  onBundleAdded(bundleName: string, accountId?: number) {
125    console.info(`Succeeded in calling onBundleAdded callback, added bundle name : ${bundleName}, accountId: ${accountId}`);
126  }
127};
128```
129
130## EnterpriseAdminExtensionAbility.onBundleRemoved
131
132onBundleRemoved(bundleName: string): void
133
134应用卸载事件回调,回调中包含应用包名。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_BUNDLE_REMOVED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅应用卸载事件,端侧应用卸载事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
135
136**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
137
138**模型约束:** 此接口仅可在Stage模型下使用。
139
140
141**参数:**
142
143| 参数名   | 类型                                  | 必填   | 说明      |
144| ----- | ----------------------------------- | ---- | ------- |
145| bundleName | string | 是    | 被卸载应用的包名。 |
146
147**示例:**
148
149```ts
150import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
151
152export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
153  onBundleRemoved(bundleName: string) {
154    console.info(`Succeeded in calling onBundleRemoved callback, removed bundle name : ${bundleName}`);
155  }
156};
157```
158
159## EnterpriseAdminExtensionAbility.onBundleRemoved<sup>14+</sup>
160
161onBundleRemoved(bundleName: string, accountId: number): void
162
163应用卸载事件回调,回调中包含应用包名和账号ID。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_BUNDLE_REMOVED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅应用卸载事件,端侧应用卸载事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
164
165**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
166
167**模型约束:** 此接口仅可在Stage模型下使用。
168
169
170**参数:**
171
172| 参数名   | 类型                                  | 必填   | 说明      |
173| ----- | ----------------------------------- | ---- | ------- |
174| bundleName | string | 是    | 被卸载应用的包名。 |
175| accountId | number | 是    | 被卸载应用所在的用户ID。 |
176
177**示例:**
178
179```ts
180import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
181
182export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
183  // 由于存在同名回调方法onBundleRemoved(bundleName: string),该回调方法无accountId参数,因此在实际调用时accountId必须为可选参数,写法请参考示例代码。如果删除accountId后的问号"?",编译会报错。
184  onBundleRemoved(bundleName: string, accountId?: number) {
185    console.info(`Succeeded in calling onBundleRemoved callback, removed bundle name : ${bundleName}, accountId: ${accountId}`);
186  }
187};
188```
189
190## EnterpriseAdminExtensionAbility.onAppStart
191
192onAppStart(bundleName: string): void
193
194应用启动事件回调。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_APP_START事件才能收到此回调。企业设备管理场景下,设备管理应用订阅应用启动事件,端侧应用启动事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
195
196**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
197
198**模型约束:** 此接口仅可在Stage模型下使用。
199
200
201**参数:**
202
203| 参数名   | 类型                                  | 必填   | 说明      |
204| ----- | ----------------------------------- | ---- | ------- |
205| bundleName | string | 是    | 启动应用的包名。 |
206
207**示例:**
208
209```ts
210import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
211
212export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
213  onAppStart(bundleName: string) {
214    console.info(`Succeeded in calling onAppStart callback, started bundle name : ${bundleName}`);
215  }
216};
217```
218
219## EnterpriseAdminExtensionAbility.onAppStop
220
221onAppStop(bundleName: string): void
222
223应用停止事件回调。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_APP_STOP事件才能收到此回调。企业设备管理场景下,设备管理应用订阅应用停止事件,端侧应用停止事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
224
225**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
226
227**模型约束:** 此接口仅可在Stage模型下使用。
228
229
230**参数:**
231
232| 参数名   | 类型                                  | 必填   | 说明      |
233| ----- | ----------------------------------- | ---- | ------- |
234| bundleName | string | 是    | 停止应用的包名。 |
235
236**示例:**
237
238```ts
239import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
240
241export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
242  onAppStop(bundleName: string) {
243    console.info(`Succeeded in calling onAppStop callback, stopped bundle name : ${bundleName}`);
244  }
245};
246```
247## EnterpriseAdminExtensionAbility.onSystemUpdate
248
249onSystemUpdate(systemUpdateInfo: systemManager.SystemUpdateInfo): void
250
251系统更新事件回调。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_SYSTEM_UPDATE事件才能收到此回调。企业设备管理场景下,设备管理应用订阅系统更新事件,端侧系统更新事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
252
253**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
254
255**模型约束:** 此接口仅可在Stage模型下使用。
256
257
258**参数:**
259
260| 参数名           | 类型                                                         | 必填 | 说明                 |
261| ---------------- | ------------------------------------------------------------ | ---- | -------------------- |
262| systemUpdateInfo | [systemManager.SystemUpdateInfo](js-apis-enterprise-systemManager.md#systemupdateinfo) | 是   | 系统更新的版本信息。 |
263
264**示例:**
265
266```ts
267import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
268import { systemManager } from '@kit.MDMKit';
269
270export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
271  onSystemUpdate(systemUpdateInfo: systemManager.SystemUpdateInfo) {
272    console.info(`Succeeded in calling onSystemUpdate callback, version name  : ${systemUpdateInfo.versionName}`);
273  }
274};
275```
276
277## EnterpriseAdminExtensionAbility.onStart
278
279onStart(): void
280
281EnterpriseAdminExtensionAbility启动事件回调。
282
283**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
284
285**模型约束:** 此接口仅可在Stage模型下使用。
286
287
288**示例:**
289
290```ts
291import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
292
293export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
294  onStart() {
295    console.info(`Succeeded in calling onStart callback.`);
296  }
297};
298```
299
300## EnterpriseAdminExtensionAbility.onAccountAdded<sup>18+</sup>
301
302onAccountAdded(accountId: number): void
303
304系统账号新增事件回调。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_ACCOUNT_ADDED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅系统账号新增事件,系统账号新增事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
305
306**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
307
308**模型约束:** 此接口仅可在Stage模型下使用。
309
310**参数:**
311
312| 参数名   | 类型                                  | 必填   | 说明      |
313| ----- | ----------------------------------- | ---- | ------- |
314| accountId | number | 是    | 新增的用户ID。 |
315
316**示例:**
317
318```ts
319import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
320
321export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
322  onAccountAdded(accountId: number) {
323    console.info(`Succeeded in calling onAccountAdded callback, added accountId: ${accountId}`);
324  }
325};
326```
327
328## EnterpriseAdminExtensionAbility.onAccountSwitched<sup>18+</sup>
329
330onAccountSwitched(accountId: number): void
331
332系统账号切换事件回调。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_ACCOUNT_SWITCHED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅系统账号切换事件,系统账号切换事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
333
334**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
335
336**模型约束:** 此接口仅可在Stage模型下使用。
337
338**参数:**
339
340| 参数名   | 类型                                  | 必填   | 说明      |
341| ----- | ----------------------------------- | ---- | ------- |
342| accountId | number | 是    | 切换后的用户ID。 |
343
344**示例:**
345
346```ts
347import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
348
349export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
350  onAccountSwitched(accountId: number) {
351    console.info(`Succeeded in calling onAccountSwitched callback, switched accountId: ${accountId}`);
352  }
353};
354```
355
356## EnterpriseAdminExtensionAbility.onAccountRemoved<sup>18+</sup>
357
358onAccountRemoved(accountId: number): void
359
360系统账号删除事件回调。通过接口[adminManager.subscribeManagedEventSync](js-apis-enterprise-adminManager.md#adminmanagersubscribemanagedeventsync)注册MANAGED_EVENT_ACCOUNT_REMOVED事件才能收到此回调。企业设备管理场景下,设备管理应用订阅系统账号删除事件,系统账号删除事件通知设备管理应用,设备管理应用可以在此回调函数中进行事件上报,通知企业管理员。
361
362**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
363
364**模型约束:** 此接口仅可在Stage模型下使用。
365
366**参数:**
367
368| 参数名   | 类型                                  | 必填   | 说明      |
369| ----- | ----------------------------------- | ---- | ------- |
370| accountId | number | 是    | 被删除的用户ID。 |
371
372**示例:**
373
374```ts
375import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
376
377export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
378  onAccountRemoved(accountId: number) {
379    console.info(`Succeeded in calling onAccountRemoved callback, removed accountId: ${accountId}`);
380  }
381};
382```
383
384## EnterpriseAdminExtensionAbility.onKioskModeEntering<sup>20+</sup>
385
386onKioskModeEntering(bundleName: string, accountId: number): void
387
388应用进入Kiosk模式回调,回调中包含应用包名和用户ID。
389
390Kiosk模式为系统层面提供的一种应用运行模式,该模式下会将设备锁定在单个应用或者一组应用运行,同时对锁屏状态、状态栏、手势操作和关键功能进行控制,防止用户在设备上启动其它应用或执行其它操作。
391
392**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
393
394**模型约束:** 此接口仅可在Stage模型下使用。
395
396**参数:**
397
398| 参数名   | 类型                                  | 必填   | 说明      |
399| ----- | ----------------------------------- | ---- | ------- |
400| bundleName | string | 是    | 进入Kiosk模式应用的包名。 |
401| accountId | number | 是    | 进入Kiosk模式应用所在的用户ID。 |
402
403**示例:**
404
405```ts
406import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
407
408export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
409  onKioskModeEntering(bundleName: string, accountId: number): void {
410    console.info(`Succeeded in calling onKioskModeEntering callback, bundleName:${bundleName}, accountId:${accountId}`);
411  }
412};
413```
414
415## EnterpriseAdminExtensionAbility.onKioskModeExiting<sup>20+</sup>
416
417onKioskModeExiting(bundleName: string, accountId: number): void
418
419应用退出Kiosk模式回调,回调中包含应用包名和用户ID。
420
421**系统能力**:SystemCapability.Customization.EnterpriseDeviceManager
422
423**模型约束:** 此接口仅可在Stage模型下使用。
424
425**参数:**
426
427| 参数名   | 类型                                  | 必填   | 说明      |
428| ----- | ----------------------------------- | ---- | ------- |
429| bundleName | string | 是    | 退出Kiosk模式应用的包名。 |
430| accountId | number | 是    | 退出Kiosk模式应用所在的用户ID。 |
431
432**示例:**
433
434```ts
435import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
436
437export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
438  onKioskModeExiting(bundleName: string, accountId: number): void {
439    console.info(`Succeeded in calling onKioskModeExiting callback, bundleName:${bundleName}, accountId:${accountId}`);
440  }
441};
442```