commit 9554e5e53db5ffd03ac915cf82adf0595dcb9cec Author: yuangyaa Date: Wed Oct 22 04:00:28 2025 +0800 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..8cef750 --- /dev/null +++ b/README.md @@ -0,0 +1,130 @@ +# MDM相机控制器 + +## 简介 + +这是一个OpenHarmony MDM(移动设备管理)应用示例,演示了如何通过MDM功能控制设备的相机启用和禁用。 + +## 功能特性 + +- 激活设备管理权限 +- 控制设备相机的启用和禁用 +- 显示当前相机状态 +- 提供简单的用户界面 + +## 项目结构 + +``` +easyMDM/ +├── AppScope/ +├── entry/ +│ ├── src/ +│ │ ├── main/ +│ │ │ ├── ets/ +│ │ │ │ ├── entryability/ +│ │ │ │ ├── extensionability/ +│ │ │ │ └── pages/ +│ │ │ └── resources/ +│ └── ... +├── build-profile.json5 +└── ... +``` + +## 核心组件 + +### 1. EnterpriseAdminExtensionAbility + +设备管理扩展能力,是MDM应用的核心组件。它提供了以下回调方法: + +- `onAdminEnabled()`: 设备管理权限激活时调用 +- `onAdminDisabled()`: 设备管理权限解除激活时调用 +- `onBundleAdded()`: 应用安装时调用 +- `onBundleRemoved()`: 应用卸载时调用 + +### 2. 主界面 (Index.ets) + +提供用户交互界面,包括: +- 相机状态显示 +- 控制按钮 +- 激活管理权限按钮 + +### 3. 说明界面 (Second.ets) + +提供应用使用说明 + +## 开发环境 + +- DevEco Studio 6.0.0.858 或更高版本 +- OpenHarmony SDK API Level 9 或更高版本 +- HarmonyOS SDK + +## 部署说明 + +### 1. 证书和Profile配置 + +MDM应用需要特殊的证书和Profile文件才能正常工作。详细配置说明请参考 [MDM配置说明.md](./MDM配置说明.md)。 + +### 2. 修改应用包名 + +MDM应用需要使用企业特定的包名。在 [module.json5](file:///Users/yuangyaa/workfiles/huawei/easyMDM/entry/src/main/module.json5) 中修改 `bundleName` 字段: + +```json +{ + "app": { + "bundleName": "com.yourcompany.mdmapp", + ... + } +} +``` + +### 3. 构建和安装 + +1. 使用DevEco Studio打开项目 +2. 通过菜单 "File" -> "Project Structure" -> "Project" -> "Signing Configs" 配置签名信息 +3. 选择 "Automatically generate signature" 选项 +4. 点击 "Apply" 保存配置 +5. 构建项目 +6. 将应用安装到支持MDM功能的企业设备上 + +### 4. 激活设备管理权限 + +在设备上安装应用后,需要通过以下方式激活设备管理权限: + +使用hdc命令: +```bash +hdc shell bm enable-admin -n com.yourcompany.mdmapp/.EnterpriseAdminAbility +``` + +## API使用说明 + +由于MDM API需要在特定环境中运行,当前示例中部分API调用已被注释。在实际部署中,需要取消注释并传入正确的参数: + +```typescript +// 控制相机功能示例 +try { + restrictions.setRestriction(admin, "camera", true); // 禁用相机 + restrictions.setRestriction(admin, "camera", false); // 启用相机 +} catch (error) { + console.error(`操作失败: ${error}`); +} +``` + +## 注意事项 + +1. MDM应用只能在企业设备上运行,不能在普通消费者设备上运行 +2. 必须正确配置证书和Profile文件 +3. 应用需要激活设备管理权限后才能控制设备功能 +4. 相机控制功能会影响设备上所有应用的相机使用 + +## 故障排除 + +### 1. 编译错误 + +确保使用了正确的MDM权限名称,参考 [module.json5](file:///Users/yuangyaa/workfiles/huawei/easyMDM/entry/src/main/module.json5) 中的配置。 + +### 2. 运行时无效果 + +检查设备管理权限是否已正确激活,以及设备是否支持MDM功能。 + +### 3. 签名警告 + +通过DevEco Studio的Project Structure配置签名信息,或确保 [build-profile.json5](file:///Users/yuangyaa/workfiles/huawei/easyMDM/build-profile.json5) 中的签名配置正确。 \ No newline at end of file