1# @ohos.enterprise.deviceControl(设备控制管理) 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> **说明**: 12> 13> 本模块首批接口从API version 12 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 本模块接口仅可在Stage模型下使用。 16> 17> 本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考[MDM Kit开发指南](../../mdm/mdm-kit-guide.md)。 18 19## 导入模块 20 21```ts 22import { deviceControl } from '@kit.MDMKit'; 23``` 24 25## deviceControl.operateDevice 26 27operateDevice(admin: Want, operate: string, addition?: string): void 28 29允许管理员操作设备。 30 31**需要权限:** ohos.permission.ENTERPRISE_OPERATE_DEVICE 32 33**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 34 35**模型约束:** 此接口仅可在Stage模型下使用。 36 37**参数:** 38 39| 参数名 | 类型 | 必填 | 说明 | 40| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ | 41| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 42| operate | string | 是 | 要执行的操作。<br/>- resetFactory:设备恢复出厂设置。<br/>- reboot:设备重启。<br/>- shutDown:设备关机。<br/>- lockScreen:设备屏幕锁定。 <!--RP1--><!--RP1End-->| 43| addition | string | 否 | <!--RP2-->执行时附加参数。目前无需传入。<!--RP2End--> | 44 45**错误码:** 46 47以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 48 49| 错误码ID | 错误信息 | 50| -------- | ------------------------------------------------------------ | 51| 9200001 | The application is not an administrator application of the device. | 52| 9200002 | The administrator application does not have permission to manage the device. | 53| 201 | Permission verification failed. The application does not have the permission required to call the API. | 54| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 55 56**示例:** 57 58```ts 59import { deviceControl } from '@kit.MDMKit'; 60import { Want } from '@kit.AbilityKit'; 61 62let wantTemp: Want = { 63 // 需根据实际情况进行替换 64 bundleName: 'com.example.myapplication', 65 abilityName: 'EntryAbility' 66}; 67 68try { 69 // 参数需根据实际情况进行替换 70 deviceControl.operateDevice(wantTemp, 'resetFactory'); 71} catch (err) { 72 console.error(`Failed to reset factory. Code is ${err.code}, message is ${err.message}`); 73} 74``` 75