• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

entry/06-May-2025-1,5991,458

hvigor/06-May-2025-44

screenshots/device/06-May-2025-

README_zh.mdD06-May-20254.9 KiB7551

build-profile.json5D06-May-20251.1 KiB4342

hvigorfile.tsD06-May-2025158 21

oh-package.json5D06-May-2025273 1515

ohosTest.mdD06-May-2025755 77

README_zh.md

1# EnterpriseAdminExtensionAbility的创建与使用(仅对系统应用开放)
2
3### 介绍
4
5企业设备管理扩展能力,是MDM应用必备组件。当开发者为企业开发MDM(Mobile Device Management)应用时,需继承EnterpriseAdminExtensionAbility,在EnterpriseAdminExtensionAbility实例中实现MDM业务逻辑,EnterpriseAdminExtensionAbility实现了系统管理状态变化通知功能。本示例涉及使用接口:@ohos.enterprise.adminManager中的disableAdmin接口,@ohos.enterprise.restrictions中的setDisallowedPolicy、getDisallowedPolicy接口,以及@ohos.enterprise.deviceControl中的operateDevice接口。
6
7### 效果预览
8
9| 禁用Wi-Fi成功                                          | 禁用Wi-Fi失败                                           | 解除激活成功                                           | 解除激活失败                                            |
10| ------------------------------------------------------ | ------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------- |
11| <img src="screenshots/device/first.jpg" width="300" /> | <img src="screenshots/device/second.jpg" width="300" /> | <img src="screenshots/device/third.jpg" width="300" /> | <img src="screenshots/device/fourth.jpg" width="300" /> |
12
13使用说明
14
151. 安装完成后,进行调试时,需要使用命令激活企业设备管理拓展能力。
16
172. 激活:hdc shell edm enable-admin -n 包名 -a 企业设备管理扩展能力类名,如本应用hdc shell edm enable-admin -n com.example.mdmsample -a EnterpriseAdminAbility。
18
193. 解除激活:hdc shell edm disable-admin -n 包名,如本应用hdc shell edm disable-admin -n com.example.mdmsample20
214. 点击“功能入口”进入功能示例页面。在激活状态下,点击按钮可调用对应的接口。例如:点击“禁用Wi-Fi”可禁用Wi-Fi功能。
22
23
24### 工程目录
25```
26entry/src/main/ets/
27|---common
28|   |---Logger.ts                     // 日志工具
29|---enterpriseadminability
30|   |---EnterpriseAdminAbility.ets    // 数据类型
31|---entryability
32|   |---EntryAbility.ets
33|---pages
34|   |---component                     // 自定义组件目录
35|       |---headComponent.ets         // 自定义AtionBar
36|       |---normalButtonComponent.ets // 自定义通用Button
37|---launcherPage.ets                  // 启动页
38|---mainPage.ets                      // 主页
39|---readStatementPage.ets             // 使用声明页
40```
41### 具体实现
42
43* 该示例通过EnterpriseAdminExtensionAbility实现了禁用/启用设备Wi-Fi功能和设备重启功能。adminManager中的disableAdmin方法用于根据bundleName将企业设备管理拓展能力解除激活。deviceControl中的operateDevice可以根据传入的operate参数值(在本示例中为reboot)来控制设备。restrictions中的setDisallowedPolicy可以根据传入的feature参数值(在本示例中为wifi)来配置通用限制类策略。
44  各个接口的调用均在EnterpriseAdminExtensionAbility中完成,EnterpriseAdminExtensionAbility和UIAbility之间采用CES(Common Event Service,公共事件服务)订阅事件的方式进行通信。
45* 接口参考:[@ohos.enterprise.EnterpriseAdminExtensionAbility](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-EnterpriseAdminExtensionAbility.md),[@ohos.enterprise.adminManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-adminManager.md),[@ohos.app.ability.Want](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-want.md),[@ohos.enterprise.deviceControl](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-deviceControl.md),[@ohos.enterprise.restrictions](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-mdm-kit/js-apis-enterprise-restrictions.md)
46
47### 相关权限
48
491. 允许应用激活设备管理员应用权限:ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN
50
512. 允许设备管理应用管理限制策略权限:ohos.permission.ENTERPRISE_MANAGE_RESTRICTIONS
52
533. 允许设备管理应用操作设备权限:ohos.permission.ENTERPRISE_OPERATE_DEVICE
54
55### 依赖
56
57不涉及。
58
59### 约束与限制
60
611. 本示例已适配API version 12版本SDK,版本号:5.0.0.17。
62
632. 本示例需要使用DevEco Studio NEXT Developer Beta2 (Build Version: 5.0.3.500 构建 2024年7月17日)及以上版本才可编译运行。
64
65### 下载
66
67如需单独下载本工程,执行如下命令:
68```
69git init
70git config core.sparsecheckout true
71echo code/DocsSample/EnterpriseAdminExtensionAbility/EnterpriseAdminExtensionAbility/ > .git/info/sparse-checkout
72git remote add origin https://gitee.com/openharmony/applications_app_samples.git
73git pull origin master
74```
75