所需要申请的权限请参考具体接口,这里提供了admin权限管理的链接,可基于该文档查看MDM Kit内其他API文档。
声明的MDM权限必须在申请MDM应用的证书和Profile时完成申请,否则后面应用还是无法获取到该权限。
MDM Kit为MDM应用提供设备管理能力,包括企业设备管理与事件监听、应用管理、禁用管理、安全管理、设备设置、设备控制、设备信息获取、硬件外设管理、系统管理、网络通信管理等,具体API接口说明详见API参考。
设备管理应用:具备企业设备管理扩展能力的应用。
要完成一个设备管理应用开发,需要完成以下步骤:
申请资质。
创建EnterpriseAdminExtensionAbility。
声明接口所需权限。
MDM功能开发与调试。
分发部署。
请参阅EnterpriseAdminExtensionAbility开发指南完成EnterpriseAdminExtensionAbility的创建。
在申请权限前,请保证符合权限使用的基本原则。然后在工程Module对应的module.json5配置文件中"requestPermissions"标签下声明要使用的接口所需的权限。例如:
- "requestPermissions": [
- // ···
- {
- "name": "ohos.permission.ENTERPRISE_MANAGE_RESTRICTIONS"
- },
- // ···
- ],
所需要申请的权限请参考具体接口,这里提供了admin权限管理的链接,可基于该文档查看MDM Kit内其他API文档。
声明的MDM权限必须在申请MDM应用的证书和Profile时完成申请,否则后面应用还是无法获取到该权限。
导包。MDM Kit目前包含应用管理、通信管理、安全管理、限制策略、系统管理、设备设置和查询、设备控制等多种类型的API,请根据业务需求导入使用。以下为导入adminManager和restrictions的示例。
- import { adminManager, restrictions } from '@kit.MDMKit';
调用接口,实现相应的功能。以下为禁用设备Wi-Fi的示例。
- import { adminManager, restrictions } from '@kit.MDMKit';
- // ...
- import { Want } from '@kit.AbilityKit';
- // ...
- private wantTemp: Want = {
- bundleName: 'com.example.mdmsample',
- abilityName: 'EnterpriseAdminAbility',
- };
- // ...
- try {
- restrictions.setDisallowedPolicy(this.wantTemp, restrictions.FeatureForDevice.WIFI, isDisallow);
- console.info(isDisallow ? 'disable wifi success.' : 'enable wifi success.');
- // ...
- } catch (err) {
- console.error('setDisallowedPolicy fail.');
- // ...
- }
由于MDM接口需要在激活企业设备管理扩展能力后使用,调试时需通过hdc命令来激活/解除激活扩展能力,命令如下:
- # 激活为超级设备管理应用
- hdc shell edm enable-admin -n 包名 -a 企业设备管理扩展能力类名
- # 激活为BYOD设备管理应用
- hdc shell edm enable-admin -n 包名 -a 企业设备管理扩展能力类名 -t byod
- # 从API version 23开始支持激活为普通设备管理应用,该命令在PC/2in1设备可正常使用,在其他形态设备中使用会报错
- hdc shell edm enable-admin -n 包名 -a 企业设备管理扩展能力类名 -t da
- # 解除激活
- hdc shell edm disable-admin -n 包名
MDM应用必须在首用户(账户ID为100)下安装才能正常激活。
正式使用时,在同一设备上只能激活一个超级设备管理应用。
BYOD(bring your own device),自带设备办公。指一些企业允许员工携带自己的笔记本电脑、平板电脑、智能手机等移动终端设备到办公场所,并可以用这些设备获取公司内部信息、使用企业特许应用的一种政策。
调试之前,需要完成资质申请。