应用中的“复制功能”如何实现##HarmonyOS应用开发##

上海张律师
• 阅读 2

​ 很多应用都有一个“点击复制”的功能,这一功能在实际操作中非常便捷,这一功能的实现主要是通过Basic Services Kit(基础服务)中的“剪贴板服务”实现的。

代码如下:

   async _Copy(text:string){
    let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_PLAIN, text);
    let systemPasteboard = pasteboard.getSystemPasteboard();
    await systemPasteboard.setData(pasteData);
    hm.toast("已复制到剪贴板");
  }

代码虽然很简单,但是以下几个点是需要注意和了解的:

  1. 剪贴板服务是包括 访问剪贴板 和 向剪贴板里写入数据这两个主要部分的,其中,一键黏贴一类的功能属于“访问剪贴板”,而“点击复制”的本质是向剪贴板里写入数据,所以官网推荐的使用”安全控件“就不适用于这个”点击复制“的功能了,同样的,根据官网文档:

“申请ohos.permission.READ_PASTEBOARD权限,ohos.permission.READ_PASTEBOARD是受限的user_grant(用户授权)权限,使用自定义控件的应用可以通过申请ohos.permission.READ_PASTEBOARD权限,在用户授权的场景下访问剪贴板内容。”

其实你不用申请权限的,因为根本没有访问剪贴板内容,只是往里面写内容而已,不是访问。

  1. 虽然我刚才一直强调,这个是“写入剪贴板”而不是“读取剪贴板”,但都是对“剪贴板”进行的操作,所以如果你想要去上架这个app的话,那么有两点要注意的,第一是隐私协议里必须包含关于剪贴板的部分,第二是即使实际上这个功能不需要授权,你也要让用户进行对剪贴板进行一次手动授权,并且这个授权尽量是放在“点击复制"的功能页面之前,否则很容易被审核驳回

基于上述的第二个问题……我最后采用了另一个方法,“长按复制”,但是请注意,不是所有的Text组件都可以去长按复制的,要想长按文字后能够弹出对应的复制选项的,需要在这个Text组件里加上这个属性

  .copyOption(CopyOptions.LocalDevice)

如果是准备做跨设备复制的,就要把LocalDevice替换成CROSS_DEVICE

长按复制虽然说操作上比点击一下一键复制更加复杂,但在上架审核环节中更加方便

点赞
收藏
评论区
推荐文章
曼成 曼成
1年前
一文教你如何在小程序中快速接入验证码短信API
在微信小程序中接入验证码短信API,可以为用户提供便捷的验证服务。本文将详细介绍如何在小程序中实现这一功能,包括UI设计、API请求以及代码实现。
布局王 布局王
18小时前
鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多
在移动应用中,各种列表页面离不开下拉刷新和上拉加载更多,我们的商城应用也是如此。今天介绍一下在仓颉开发语言中如何实现这一功能。下拉刷新仓颉开发语言直接提供了下拉刷新的组件,叫做Refresh,使用起来也非常方便:@StatevarheaderLoading
GeorgeGcs GeorgeGcs
12小时前
从“备胎”到领航者,鸿蒙操作系统的传奇进化
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财【HarmonyOS5】2019年,在全球科技产业的风云变幻中,华为正式推出了鸿蒙操作系统(HarmonyOS),这一消息如同一颗重磅炸弹,瞬间吸引了全世界的目光。彼时,外界对鸿蒙的诞生背
GeorgeGcs GeorgeGcs
10小时前
【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、前言图(11)HarmonyOS系统提供的核心场景化视觉服务,旨在帮助开发者快速实现移动端文档数字化功能。其核心能力包括:扫描合同、票据、会议记录并保存为PDF分享。拍摄课堂PPT、书
GeorgeGcs GeorgeGcs
10小时前
【HarmonyOS NEXT】鸿蒙应用实现手机摇一摇功能
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、前言手机摇一摇功能,是通过获取手机设备,加速度传感器接口,获取其中的数值,进行逻辑判断实现的功能。在鸿蒙中手机设备传感器@ohos.sensor(传感器)的系统API监听有以下:@oh
GeorgeGcs GeorgeGcs
10小时前
【HarmonyOS 5】桌面快捷方式功能实现详解
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、前言在移动应用开发中,如何让用户快速触达核心功能,是目前很常见的功能之一。鸿蒙系统提供的桌面快捷方式(Shortcuts)功能,允许开发者为应用内常用功能创建直达入口,用户通过长按应用
GeorgeGcs GeorgeGcs
8小时前
【HarmonyOS 5】鸿蒙用户头像编辑功能实践
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、前言1、应用背景在鸿蒙化开发过程中,我们发现最基本常见的功能用户头像的编辑,实现方式和Android与IOS有极大的不同。在实际开发和调研的过程中,我们发现并总结了鸿蒙隐私处理与业内A
GeorgeGcs GeorgeGcs
8小时前
【HarmonyOS 5】鸿蒙Web组件和内嵌网页双向通信DEMO示例
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、前言在ArkUI开发中,Web组件(Web)允许开发者在应用内嵌入网页,实现混合开发场景。本文将通过完整DEMO,详解如何通过WebviewController实现ArkUI与内嵌网页
GeorgeGcs GeorgeGcs
8小时前
【HarmonyOS】鸿蒙应用蓝牙功能实现(一)
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财前言蓝牙技术是一种无线通信技术,可以在短距离内传输数据。它是由爱立信公司于1994年提出的,使用2.4GHz的ISM频段,可以在10米左右的距离内进行通信。可以用于连接手机、耳机、音箱、键
GeorgeGcs GeorgeGcs
8小时前
【HarmonyOS】鸿蒙应用蓝牙功能实现 (三)
鸿蒙开发能力HarmonyOSSDK应用服务鸿蒙金融类应用(金融理财一、蓝牙配对业务流程1‌.设备进入可被发现模式‌:首先,设备需要进入可被发现模式,这样周围的蓝牙设备才能识别到它。一方设备(如手机)会主动搜索附近的蓝牙设备,并列出所有可用的配对选项。2‌