| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 971 | 881 | ||
| hvigor/ | 06-May-2025 | - | 38 | 36 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 156 | 13 | 13 | |
| README.md | D | 06-May-2025 | 5 KiB | 82 | 57 | |
| build-profile.json5 | D | 06-May-2025 | 1.3 KiB | 58 | 57 | |
| code-linter.json5 | D | 06-May-2025 | 958 | 35 | 34 | |
| hvigorfile.ts | D | 06-May-2025 | 839 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 809 | 26 | 24 | |
| ohosTest.md | D | 06-May-2025 | 1.5 KiB | 11 | 9 |
README.md
1# 安全控件类型的UI控件(仅对系统应用开放) 2 3### 介绍 4 5本示例提供了安全控件类型的UI控件,支撑应用开发者集成安全控件做临时授权场景,当用户实际点击了某种类型的安全控件时,会对应用进行相应的临时授权,减少权限弹窗对用户的干扰,同时提供更小的授权范围。 6 7### 效果预览 8 9| 主页 | Location | Paste | **Save** | 10|:-----------------------------------:| :--------------------------------------------: |:---------------------------------------:| :------------------------------------: | 11|  |  |  |  | 12 13使用说明 141. 在主界面,点击“Location”按钮,进入“Location”界面,点击“当前位置”按钮,成功获取当前定位信息,并通过提示框显示。 15 162. 在主界面,点击“Paste”按钮,进入“Paste”界面,在文本输入框输入文字,全选剪切文字,点击“粘贴”按钮,获取剪贴板内容并显示在输入框中。 17 183. 在主界面,点击“Save”按钮,进入“Save”界面,点击“下载”按钮,将当前页面中的图片保存到本地的图库中。 19 20### 工程目录 21 22``` 23SecurityComponent 24├──entry/src/main 25│ ├──ets 26│ │ ├──entryability 27│ │ │ └──EntryAbility.ets // 程序入口类 28| | ├──pages // 页面文件 29│ │ │ └──Index.ets // 首页 30│ │ └──securitycomponent // 组件文件 31│ │ └──page 32│ │ ├──Location.ets // 位置服务安全控件界面 33│ │ ├──Paste.ets // 剪贴板安全控件界面 34│ │ └──Save.ets // 媒体库安全控件界面 35| ├──resources // 资源文件目录 36│ │ 37 38``` 39 40### 具体实现 41 42* 本示例分为Location安全控件模块,剪贴板安全控件模块,媒体库安全控件模块。 43 44 * Location安全控件模块 45 46 * 使用LocationButton组件开发获取定位信息功能,在其点击回调onclick事件中调用geoLocationManager.getCurrentLocation()得到当前定位信息经纬度。 47 * 接口参考:[@ohos.geoLocationManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-location-kit/js-apis-geoLocationManager.md#geolocationmanagergetcurrentlocation) 48 * 剪贴板安全控件模块 49 50 * 使用PasteButton组件开发获取剪贴板信息功能,在其点击回调onclick事件中调用pasteboard.getSystemPasteboard().getData()将文本复制到剪贴板中,使用pasteData.getPrimaryText()得到剪贴板内容。 51 * 接口参考:[@ohos.pasteboard](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-pasteboard.md) 52 * 媒体库安全控件模块 53 54 * 使用SaveButton组件开发保存图片到媒体库功能,在其点击回调onclick事件中调用photoAccessHelper.getPhotoAccessHelper()得到媒体库图片管理器helper, helper.createAsset()得到保存到媒体库图片的uri,使用resourceManager.getMediaContent()得到存放在Resources/base/media文件下的test.jpg图片内容,调用fs.open()和fs.write()将图片内容通过得到的uri写到媒体库中,最后fs.close()关闭文件。 55 * 接口参考:[@ohos.file.photoAccessHelper](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-media-library-kit/js-apis-photoAccessHelper.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) 56 57### 相关权限 58 59不涉及。 60 61### 依赖 62 63不涉及。 64 65### 约束与限制 66 671. 本示例仅支持标准系统上运行,支持设备:RK3568,GPS定位功能仅支持部分机型。 682. 本示例为Stage模型,支持API14版本SDK,版本号:(5.0.2.58)。 694. 本示例已支持使DevEco Studio 5.0.1 Release (构建版本:5.0.5.306,构建 2024年12月6日)编译运行。 705. 本示例需要使用系统权限的系统接口,需要使用Full SDK编译。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/link?target=https%3A%2F%2Fdocs.openharmony.cn%2Fpages%2Fv3.2%2Fzh-cn%2Fapplication-dev%2Fquick-start%2Ffull-sdk-switch-guide.md%2F)。 71 72### 下载 73 74如需单独下载本工程,执行如下命令: 75 76``` 77git init 78git config core.sparsecheckout true 79echo code/DocsSample/Security/SecurityComponent/ > .git/info/sparse-checkout 80git remote add origin https://gitee.com/openharmony/applications_app_samples.git 81git pull origin master 82```