• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# EnterpriseAdminExtensionAbility开发指南
2<!--Kit: MDM Kit-->
3<!--Subsystem: Customization-->
4<!--Owner: @huanleima-->
5<!--Designer: @liuzuming-->
6<!--Tester: @lpw_work-->
7<!--Adviser: @Brilliantry_Rui-->
8
9## 概述
10
11企业设备管理扩展能力组件,是设备管理应用必备组件。当开发者为企业开发设备管理应用时,需继承EnterpriseAdminExtensionAbility,在EnterpriseAdminExtensionAbility实例中实现MDM业务逻辑,EnterpriseAdminExtensionAbility实现了系统管理状态变化通知功能,并定义了管理应用激活、去激活、应用安装、卸载事件等回调接口。
12
13## 接口说明
14以下为本次开发示例所使用的接口,更多接口及使用方式请见[企业设备管理扩展能力接口文档](../../application-dev/reference/apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md)。
15
16| 接口名称                                  | 描述                         |
17| ----------------------------------------- | ---------------------------- |
18| [onAdminEnabled(): void](../../application-dev/reference/apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md#enterpriseadminextensionabilityonadminenabled)                    | 设备管理应用被激活回调方法。   |
19| [onAdminDisabled(): void](../../application-dev/reference/apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md#enterpriseadminextensionabilityonadmindisabled)                   | 设备管理应用被解除激活回调方法。 |
20| [onBundleAdded(bundleName: string): void](../../application-dev/reference/apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md#enterpriseadminextensionabilityonbundleadded)   | 应用安装回调方法。             |
21| [onBundleRemoved(bundleName: string): void](../../application-dev/reference/apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md#enterpriseadminextensionabilityonbundleremoved) | 应用卸载回调方法。             |
22
23## 开发步骤
24
25新建一个工程后,结构如下:
26
27![guide_struct_init.png](./figures/guide_struct_init.png)
28
29首先,创建一个EnterpriseAdmin类型的ExtensionAbility(也就是EnterpriseAdminExtensionAbility)。
30
31![guide_struct_done.png](./figures/guide_struct_done.png)
32
33其次,打开新建的EnterpriseAdminAbility文件,导入EnterpriseAdminExtensionAbility模块,使其继承EnterpriseAdminExtensionAbility并加上需要的应用通知回调方法,如onAdminEnabled()、onAdminDisabled()等回调方法。当设备管理应用激活或者解除激活时,可以在对应回调方法中接受系统发送通知。
34
35```ts
36import { EnterpriseAdminExtensionAbility } from '@kit.MDMKit';
37
38export default class EnterpriseAdminAbility extends EnterpriseAdminExtensionAbility {
39  // 设备管理应用激活回调方法,应用可在此回调函数中进行初始化策略设置
40  onAdminEnabled() {
41    console.info("onAdminEnabled");
42  }
43
44  // 设备管理应用解除激活回调方法,应用可在此回调函数中通知企业管理员设备已脱管
45  onAdminDisabled() {
46    console.info("onAdminDisabled");
47  }
48
49  // 应用安装回调方法,应用可在此回调函数中进行事件上报,通知企业管理员
50  onBundleAdded(bundleName: string) {
51    console.info("EnterpriseAdminAbility onBundleAdded bundleName:" + bundleName);
52  }
53
54  // 应用卸载回调方法,应用可在此回调函数中进行事件上报,通知企业管理员
55  onBundleRemoved(bundleName: string) {
56    console.info("EnterpriseAdminAbility onBundleRemoved bundleName" + bundleName);
57  }
58};
59```
60
61最后,在工程Module对应的[module.json5](../quick-start/module-configuration-file.md)配置文件中将EnterpriseAdminAbility注册为ExtensionAbility,type标签需要设置为“enterpriseAdmin”,srcEntry标签表示当前ExtensionAbility组件所对应的代码路径。
62
63```ts
64"extensionAbilities": [
65  {
66	"name": "EnterpriseAdminAbility",
67	"type": "enterpriseAdmin",
68	"exported": true,
69	"srcEntry": "./ets/enterpriseadminability/EnterpriseAdminAbility.ets"
70  }
71]
72```
73
74## 相关实例
75
76针对EnterpriseAdminExtensionAbility开发,有以下相关示例可供参考:
77
78- [企业设备管理扩展(ArkTS)](https://gitcode.com/openharmony/applications_app_samples/tree/master/code/SystemFeature/ApplicationModels/EnterpriseAdminExtensionAbility)