first commit
This commit is contained in:
130
README.md
Normal file
130
README.md
Normal 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) 中的签名配置正确。
|
||||
Reference in New Issue
Block a user