HarmonyOS实战开发-企业设备管理扩展、系统管理状态变化通知功能

介绍

企业设备管理扩展能力,是MDM应用必备组件。当开发者为企业开发MDM(Mobile Device Management)应用时,需继承EnterpriseAdminExtensionAbility,在EnterpriseAdminExtensionAbility实例中实现MDM业务逻辑,EnterpriseAdminExtensionAbility实现了系统管理状态变化通知功能,并定义了管理应用激活、去激活、应用安装、卸载事件等回调接口。

效果预览

使用说明

1.启动应用后,点击激活设备管理器,会显示激活成功。由企业管理员或者员工部署MDM应用,激活设备管理器,系统通知MDM应用已激活DeviceAdmin权限。MDM应用可在onAdminEnable回调函数中进行初始化策略设置。

2.点击去激活设备管理器,会显示去激活成功。系统或者员工去激活设备管理器,应用可以通知企业管理员设备已脱管。

3.点击订阅应用安装卸载事件,会显示订阅成功。企业应用管理场景下,企业管理员订阅应用安装卸载事件,端侧应用安装和卸载事件通知MDM应用,MDM应用可以在回调函数中进行事件上报,通知企业管理员。

4.点击取消订阅应用安装卸载事件,会显示取消订阅成功。企业应用管理场景下,企业管理员取消订阅应用安装卸载事件。

工程目录

bash 复制代码
entry/src/main/ets/
|---common
|   |---Logger.ts                      // 日志工具
|---enterpriseextability
|   |---EnterpriseAdminAbility.ts      // 数据类型
|---entryAbility
|   |---EntryAbility.ts                
|---pages
|   |---Index.ets                      // 首页

具体实现

  • 该示例通过EnterpriseAdminExtensionAbility接口实现了系统管理状态变化通知功能,adminManager接口中enableAdmin方法去激活当前用户下的指定设备管理员应用,disableSuperAdmin方法去根据bundleName将管理员用户下的超级管理员应用去激活,subscribeManagedEvent方法去指定设备管理员应用订阅系统管理事件,unsubscribeManagedEvent方法去指定设备管理员应用取消订阅系统管理事件来实现应用激活、去激活、应用安装、卸载事件。

相关权限

1.允许应用激活设备管理员应用权限:ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN

2.允许设备管理员应用订阅管理事件权限:ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568。

2.本示例已适配API version 9版本SDK,版本号:3.2.11.9,本示例涉及使用系统接口:@ohos.enterprise.adminManager中的enableAdmin、disableAdmin接口,需要手动替换FullSDK才能编译通过。

3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)及以上版本才可编译运行。

4.本示例涉及系统接口,需要配置系统应用签名,可以参考特殊权限配置方法,把配置文件中的"app-feature"字段信息改为"hos_system_app"。

5.本示例涉及ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN为system_core级别(相关权限级别可通过权限定义列表查看),需要配置高权限签名。

6.示例涉及企业应用权限,需要进行特殊签名安装,把签名证书中的"app-distribution-type"字段信息修改为"enterprise_mdm"类型,执行签名脚本生成安装包之后,先执行 1. hdc shell param set const.product.developmentmode 1 2. hdc shell param set const.bms.allowenterprisebundle true 这两个命令再进行包安装。

下载

如需单独下载本工程,执行如下命令:

bash 复制代码
git init
git config core.sparsecheckout true
echo code/SystemFeature/ApplicationModels/EnterpriseAdminExtensionAbility/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等...视频教程


鸿蒙生态应用开发白皮书V2.0PDF: 获取完整版白皮书方式请点击→ https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128

鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

一、入门必看

1.应用开发导读(ArkTS)
2.........

二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.系统定义
2.技术架构
3.技术特性
4.系统安全
5...

三、如何快速入门?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3...

四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言

五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列

更多了解更多鸿蒙开发的相关知识可以参考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

相关推荐
小诸葛的博客4 小时前
华为ensp实现跨vlan通信
网络·华为·智能路由器
康康这名还挺多6 小时前
鸿蒙HarmonyOS list优化一: list 结合 lazyforeach用法
数据结构·list·harmonyos·lazyforeach
晚秋大魔王9 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
linux·开源·harmonyos
python算法(魔法师版)13 小时前
.NET 在鸿蒙系统上的适配现状
华为od·华为·华为云·.net·wpf·harmonyos
bestadc14 小时前
鸿蒙 UIAbility组件与UI的数据同步和窗口关闭
harmonyos
枫叶丹415 小时前
【HarmonyOS Next之旅】DevEco Studio使用指南(二十二)
华为·harmonyos·deveco studio·harmonyos next
ax一号街阿楠17 小时前
华为FAT AP配置 真机
网络·华为·智能路由器
吗喽对你问好17 小时前
华为5.7机考第一题充电桩问题Java代码实现
java·华为·排序
乱世刀疤19 小时前
深度 |国产操作系统“破茧而出”:鸿蒙电脑填补自主生态空白
华为·harmonyos
博睿谷IT99_1 天前
华为HCIP-AI认证考试版本更新通知
人工智能·华为