first commit

This commit is contained in:
2025-10-22 04:00:28 +08:00
commit 9554e5e53d

130
README.md Normal file
View File

@@ -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) 中的签名配置正确。