1# DLPManager 2 3### 介绍 4 5本示例主要展示了DLP文件管理相关的功能,使用[@ohos.dlpPermission](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-data-protection-kit/js-apis-dlppermission-sys.md)、[@ohos.file.fs](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md)、[@ohos.file.fileAccess](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-fileAccess-sys.md)、[@ohos.file.picker](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-picker.md)、[@ohos.app.ability.Want](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-want.md)等接口,实现了生成和打开DLP文件、查看原始应用沙箱目录的原始文件打开列表、编辑保存文件、拉取文件夹、查看文件权限和监听DLP文件的功能。 6 7### 效果预览 8 9|主页|文件内容页| 10|--------------------------------|--------------------------------| 11|<img src="screenshots/device/index.jpeg" style="zoom: 50%;" />|<img src="screenshots/device/dlpPage.jpeg" style="zoom: 50%;" />| 12 13使用说明 14 151.进入界面,显示原始应用沙箱目录获取原始文件访问列表。 16 172.点击右上角的图标,可以获取沙箱保留信息。 18 193.点击右下角的加号图标,可以跳转进入文件夹。 20 214.点击某个文件,可以显示其文件内容。 22 235.在文件显示页面,可以点击下面的编辑图标对文件内容进行编辑,编辑后点击保存图标进行保存;点击更多可以文件另存为,查看权限。 24 256.设置txt文件权限时需输入用户账号点击回车后才能点击确认按钮。 26 27### 工程目录 28 29``` 30entry/src/main/ets/ 31|---entryability 32| |---EntryAbility.ets // dlpSample应用的ability 33| |---FuncAbility.ets // dlp文件显示的ability 34|---media 35| |---dlpPage.ets // dlp文件内容页 36| |---filePage.ets // 原始文件内容页 37| |---MediaFileUri.ts // 函数方法 38|---pages 39| |---Index.ets // 首页 40|---utils 41| |---Logger.ts // 日志工具 42``` 43### 具体实现 44 45* 本实例获取DLP文件和普通文件列表的功能结主要封装在Index,源码参考:[Index.ets](entry/src/main/ets/pages/Index.ets) 。 46 * 获取列表信息:在Index页面中通过onPageShow()调用fs.listFile()、fs.stat()等方法能够应用沙箱路径下的原始文件列表;通过context.startAbility(want)对DLP文件进行生成和打开,通过dlpPermission的接口查看DLP文件的权限。 47 48### 相关权限 49 50| 权限名 | 权限说明 | 级别 | 51| ------------------------------------------------------------ | --------------------------------------------- | ------------ | 52| [ohos.permission.MEDIA_LOCATION](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionmedia_location) | 允许应用访问用户媒体文件中的地理位置信息 | normal | 53| [ohos.permission.FILE_ACCESS_MANAGER](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionfile_access_manager) | 允许文件管理类应用通过FAF框架访问公共数据文件 | system_basic | 54| [ohos.permission.GET_BUNDLE_INFO_PRIVILEGED](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionget_bundle_info_privileged) | 允许查询应用的基本信息和敏感信息 | system_basic | 55| [ohos.permission.ACCESS_DLP_FILE](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionaccess_dlp_file) | 允许对DLP文件进行权限配置和管理 | system_core | 56| [ohos.permission.START_INVISIBLE_ABILITY](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionstart_invisible_ability) | 无论Ability是否可见,都允许应用进行调用 | system_core | 57 58### 依赖 59 60不涉及。 61 62### 约束与限制 63 641.本示例仅支持标准系统上运行。 65 662.本示例已适配API version 11版本SDK,版本号:4.1.3.3。 67 683.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)及以上版本才可编译运行。 69 704.本示例签名时需修改sdk文件夹下`UnsgnedReleasedProfileTemplate.json`文件,如下所示: 71```json 72{ 73 "bundle-info": { 74 "developer-id": "OpenHarmony", 75 "distribution-certificate": "", 76 "bundle-name": "com.sample.dlpmanager", 77 "apl": "normal", 78 "app-feature": "hos_system_app" 79 }, 80 "acls": { 81 "allowed-acls": [ 82 "ohos.permission.MEDIA_LOCATION", 83 "ohos.permission.FILE_ACCESS_MANAGER", 84 "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", 85 "ohos.permission.ACCESS_DLP_FILE", 86 "ohos.permission.START_INVISIBLE_ABILITY", 87 "ohos.permission.START_ABILITIES_FROM_BACKGROUND", 88 "ohos.permission.ABILITY_BACKGROUND_COMMUNICATION", 89 "ohos.permission.MANAGE_DISTRIBUTED_ACCOUNTS", 90 "ohos.permission.MANAGE_LOCAL_ACCOUNTS", 91 "ohos.permission.PROXY_AUTHORIZATION_URI" 92 ] 93 } 94} 95``` 96 97### 下载 98 99如需单独下载本工程,执行如下命令: 100``` 101git init 102git config core.sparsecheckout true 103echo code/SystemFeature/Security/DLPManager > .git/info/sparse-checkout 104git remote add origin https://gitee.com/openharmony/applications_app_samples.git 105git pull origin master 106 107``` 108