OpenHarmony安全控件类型的UI控件(仅对系统应用开放)

介绍

本示例提供了安全控件类型的UI控件,支撑应用开发者集成安全控件做临时授权场景,当用户实际点击了某种类型的安全控件时,会对应用进行相应的临时授权,减少权限弹窗对用户的干扰,同时提供更小的授权范围。

效果预览

使用说明

  1. 在主界面,点击“LocationButton安全控件”按钮,进入“LocationButton安全控件”界面,点击“当前位置”按钮,成功获取当前定位信息,并显示在方框中。

  2. 在主界面,点击“PasteButton安全控件”按钮,进入“PasteButton安全控件”界面,点击”复制“按钮,复制下方“天天开心”文本,点击“粘贴”按钮,获取剪贴板内容并显示在其下方框中。

  3. 在主界面,点击“SaveButton安全控件”按钮,进入“SaveButton安全控件”界面,点击“下载”按钮,将当前页面中的图片保存到本地图库中。

工程目录

entry/src/main/ets/
|---securitycomponent
|   |---pages
|   |   |---Location.ets                   // 位置服务安全控件界面
|   |   |---Paste.ets                      // 剪贴板安全控件界面
|   |   |---Save.ets                       // 媒体库安全控件界面
|---pages
|   |---Index.ets                          // 首页
|---common
|   |---Component
|   |   |---AuthorizedButton.ets           // 安全控件样式
|   |   |---CopyButton.ets                 // 剪贴板复制控件
|   |   |---LocationButton.ets             // 位置服务安全控件
|   |   |---PasteButton.ets                // 剪贴板粘贴控件
|   |   |---SaveButton.ets                 // 媒体库写入文件控件
|   |   |---TitleBar.ets                   // 标题栏
|---utils
|   |---Logger.ts                          // 日志工具

具体实现

  • 本示例分为Location安全控件模块,剪贴板安全控件模块,媒体库安全控件模块

    • Location安全控件模块

      • 使用SecLocationButton组件开发获取定位信息功能,在其点击回调onclick事件中调用geoLocationManager.getCurrentLocation()得到当前定位信息经纬度
      • 源码链接:LocationButton.ets
      • 接口参考:@ohos.geoLocationManager
    • 剪贴板安全控件模块

      • 使用SecPasteButton组件开发获取剪贴板信息功能,在其点击回调onclick事件中调用ystemPasteboard.setData()将文本复制到剪贴板中,systemPasteboard.getData()得到剪贴板内容
      • 源码链接:PasteButton.ets
      • 接口参考:@ohos.pasteboard
    • 媒体库安全控件模块

      • 使用SecSaveButton组件开发保存图片到媒体库功能,在其点击回调onclick事件中调用photoAccessHelper.getPhotoAccessHelper()得到媒体库图片管理器helper,
        helper.createAsset()得到保存到媒体库图片的uri,
        resourceManager.getMediaContent()得到存放在Resources/base/media文件下的banner.png图片内容,
        fs.open()和fs.write()将图片内容通过得到的uri写到媒体库中,最后fs.close()关闭文件
      • 源码链接:SaveButton.ets
      • 接口参考:@ohos.file.photoAccessHelper@ohos.file.fs

相关权限

不涉及。

依赖

不涉及。

约束与限制

  1. 本示例仅支持标准系统上运行,支持设备:GPS定位功能仅支持部分机型。
  2. 本示例仅支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。
  3. 本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。
  4. 本示例需要使用系统权限的系统接口,需要使用Full SDK编译。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考替换指南

下载

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

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

码牛课堂也为了积极培养鸿蒙生态人才,让大家都能学习到鸿蒙开发最新的技术,针对一些在职人员、0基础小白、应届生/计算机专业、鸿蒙爱好者等人群,整理了一套纯血版鸿蒙(HarmonyOS Next)全栈开发技术的学习路线。大家可以进行参考学习:https://qr21.cn/FV7h05

①全方位,更合理的学习路径
路线图包括ArkTS基础语法、鸿蒙应用APP开发、鸿蒙能力集APP开发、次开发多端部署开发、物联网开发等九大模块,六大实战项目贯穿始终,由浅入深,层层递进,深入理解鸿蒙开发原理!

②多层次,更多的鸿蒙原生应用
路线图将包含完全基于鸿蒙内核开发的应用,比如一次开发多端部署、自由流转、元服务、端云一体化等,多方位的学习内容让学生能够高效掌握鸿蒙开发,少走弯路,真正理解并应用鸿蒙的核心技术和理念。

③实战化,更贴合企业需求的技术点
学习路线图中的每一个技术点都能够紧贴企业需求,经过多次真实实践,每一个知识点、每一个项目,都是码牛课堂鸿蒙研发团队精心打磨和深度解析的成果,注重对学生的细致教学,每一步都确保学生能够真正理解和掌握。

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:https://qr21.cn/FV7h05

如何快速入门:

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr21.cn/FV7h05

大厂鸿蒙面试题::https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

相关推荐

  1. 安卓中常见UI

    2024-04-21 18:50:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 18:50:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 18:50:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 18:50:02       87 阅读
  4. Python语言-面向对象

    2024-04-21 18:50:02       96 阅读

热门阅读

  1. vue 前端参值后端接收的几种方式

    2024-04-21 18:50:02       39 阅读
  2. 【linux】centos7 开机 进单用户模式修改root密码

    2024-04-21 18:50:02       33 阅读
  3. r-tree 总结

    2024-04-21 18:50:02       40 阅读
  4. R语言数据分析案例

    2024-04-21 18:50:02       45 阅读
  5. 第3章 决策树

    2024-04-21 18:50:02       33 阅读
  6. PHP数电票查验、发票OCR查验接口、发票管理

    2024-04-21 18:50:02       42 阅读
  7. 洛谷 P3702 [SDOI2017] 序列计数 题解代码 动态规划

    2024-04-21 18:50:02       41 阅读
  8. QT Sqlite 内存模式 简单读写

    2024-04-21 18:50:02       36 阅读
  9. pdf在线免费转word网站推荐,纯免费、不注册

    2024-04-21 18:50:02       39 阅读
  10. c++计算DNA序列信息熵代码

    2024-04-21 18:50:02       34 阅读