Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OpenHarmony安全控件类型的UI控件(仅对系统应用开放)

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

原创
作者头像
小帅聊鸿蒙
发布于 2024-09-11 13:15:11
发布于 2024-09-11 13:15:11
1630
举报
文章被收录于专栏:鸿蒙开发笔记鸿蒙开发笔记

介绍

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

效果预览

使用说明

  1. 在主界面,点击“LocationButton安全控件”按钮,进入“LocationButton安全控件”界面,点击“当前位置”按钮,成功获取当前定位信息,并显示在方框中。
  2. 在主界面,点击“PasteButton安全控件”按钮,进入“PasteButton安全控件”界面,点击”复制“按钮,复制下方“天天开心”文本,点击“粘贴”按钮,获取剪贴板内容并显示在其下方框中。
  3. 在主界面,点击“SaveButton安全控件”按钮,进入“SaveButton安全控件”界面,点击“下载”按钮,将当前页面中的图片保存到本地图库中。

工程目录

代码语言:shell
AI代码解释
复制
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()得到当前定位信息经纬度
  • 剪贴板安全控件模块
  • 使用SecPasteButton组件开发获取剪贴板信息功能,在其点击回调onclick事件中调用ystemPasteboard.setData()将文本复制到剪贴板中,systemPasteboard.getData()得到剪贴板内容
  • 媒体库安全控件模块
  • 使用SecSaveButton组件开发保存图片到媒体库功能,在其点击回调onclick事件中调用photoAccessHelper.getPhotoAccessHelper()得到媒体库图片管理器helper, helper.createAsset()得到保存到媒体库图片的uri,resourceManager.getMediaContent()得到存放在Resources/base/media文件下的banner.png图片内容,fs.open()和fs.write()将图片内容通过得到的uri写到媒体库中,最后fs.close()关闭文件

相关权限

不涉及。

依赖

不涉及。

约束与限制

  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中替换。

下载

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

代码语言:shell
AI代码解释
复制
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

写在最后

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力;
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识;
  • 想要获取更多完整鸿蒙最新学习知识点,可关注B站:码牛课堂鸿蒙开发;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档