143 Star 1.3K Fork 1.5K

OpenHarmony/applications_app_samples

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

DLPManager

介绍

本示例主要展示了DLP文件管理相关的功能,使用@ohos.dlpPermission@ohos.file.fs@ohos.file.fileAccess@ohos.file.picker@ohos.app.ability.Want等接口,实现了生成和打开DLP文件、查看原始应用沙箱目录的原始文件打开列表、编辑保存文件、拉取文件夹、查看文件权限和监听DLP文件的功能。

效果预览

主页 文件内容页

使用说明

1.进入界面,显示原始应用沙箱目录获取原始文件访问列表。

2.点击右上角的图标,可以获取沙箱保留信息。

3.点击右下角的加号图标,可以跳转进入文件夹。

4.点击某个文件,可以显示其文件内容。

5.在文件显示页面,可以点击下面的编辑图标对文件内容进行编辑,编辑后点击保存图标进行保存;点击更多可以文件另存为,查看权限。

6.设置txt文件权限时需输入用户账号点击回车后才能点击确认按钮。

工程目录

entry/src/main/ets/
|---entryability
|   |---EntryAbility.ets               // dlpSample应用的ability
|   |---FuncAbility.ets                // dlp文件显示的ability
|---media
|   |---dlpPage.ets                    // dlp文件内容页
|   |---filePage.ets                   // 原始文件内容页
|   |---MediaFileUri.ts                // 函数方法
|---pages
|   |---Index.ets                      // 首页
|---utils
|   |---Logger.ts                      // 日志工具

具体实现

  • 本实例获取DLP文件和普通文件列表的功能结主要封装在Index,源码参考:Index.ets
    • 获取列表信息:在Index页面中通过onPageShow()调用fs.listFile()、fs.stat()等方法能够应用沙箱路径下的原始文件列表;通过context.startAbility(want)对DLP文件进行生成和打开,通过dlpPermission的接口查看DLP文件的权限。

相关权限

权限名 权限说明 级别
ohos.permission.MEDIA_LOCATION 允许应用访问用户媒体文件中的地理位置信息 normal
ohos.permission.FILE_ACCESS_MANAGER 允许文件管理类应用通过FAF框架访问公共数据文件 system_basic
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 允许查询应用的基本信息和敏感信息 system_basic
ohos.permission.ACCESS_DLP_FILE 允许对DLP文件进行权限配置和管理 system_core
ohos.permission.START_INVISIBLE_ABILITY 无论Ability是否可见,都允许应用进行调用 system_core

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行。

2.本示例已适配API version 11版本SDK,版本号:4.1.3.3。

3.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400 构建 2023年4月7日)及以上版本才可编译运行。

4.本示例签名时需修改sdk文件夹下UnsgnedReleasedProfileTemplate.json文件,如下所示:

{
  "bundle-info": {
    "developer-id": "OpenHarmony",
    "distribution-certificate": "",
    "bundle-name": "com.sample.dlpmanager",
    "apl": "normal",
    "app-feature": "hos_system_app"
  },
  "acls": {
    "allowed-acls": [
      "ohos.permission.MEDIA_LOCATION",
      "ohos.permission.FILE_ACCESS_MANAGER",
      "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
      "ohos.permission.ACCESS_DLP_FILE",
      "ohos.permission.START_INVISIBLE_ABILITY",
      "ohos.permission.START_ABILITIES_FROM_BACKGROUND",
      "ohos.permission.ABILITY_BACKGROUND_COMMUNICATION",
      "ohos.permission.MANAGE_DISTRIBUTED_ACCOUNTS",
      "ohos.permission.MANAGE_LOCAL_ACCOUNTS",
      "ohos.permission.PROXY_AUTHORIZATION_URI"
    ]
  }
}

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/SystemFeature/Security/DLPManager > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/applications_app_samples.git
git@gitee.com:openharmony/applications_app_samples.git
openharmony
applications_app_samples
applications_app_samples
master

搜索帮助