cocosCreator获取手机剪切板内容
最近游戏中需要加上复制粘贴的功能,这个时候就涉及到安卓原生层的东西。步骤如下:
公开文章地址,见个人博客
复制功能
ts代码
调用代码,在需要复制的地方调用即可。
public static copyToClipBoard(str) {if (sys.platform == sys.Platform.ANDROID) {PlatformMgr.callNativeFn("copyToClipboard", str);}}
static async callNativeFn(funcName: string, jsonMsg?: string): Promise<{ msg: string, isSucc: boolean }> {if (sys.platform != sys.Platform.ANDROID) // TODO: web 暂时只支持 Android 调用returnlet fn = PlatformMgr.Ins._platformIns[funcName]if (typeof (fn) == "function") { // 支持重写方法return await fn(funcName, jsonMsg)} else {return await PlatformMgr.Ins._platformIns.callNativeFn(funcName, jsonMsg)}}
import { NativeMgr } from "../../module/native/NativeMgr";export class PlatformBase {// 最终调用 natvie 接口async callNativeFn(funcName: string, jsonMsg?: string) {return new Promise<{ msg: string, isSucc: boolean }>((resolve) => {NativeMgr.Ins.callNativeFunc((msg: string, isSucc: boolean) => {resolve({ msg: msg, isSucc: isSucc })}, funcName, jsonMsg)})}
}
java代码
放在你自己的逻辑中,放在AppActivity.java中即可。前面需要import相关的库文件
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
调用代码:
public static void copyToClipboard(String textToCopy) {// 获取剪贴板管理器ClipboardManager clipboardManager = (ClipboardManager) getActivity().getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);// 创建 ClipData 对象ClipData clipData = ClipData.newPlainText("Copied Text", textToCopy);// 将 ClipData 设置到剪贴板clipboardManager.setPrimaryClip(clipData);try {JSONObject jsonobj = new JSONObject();jsonobj.put("type", "copyText");jsonobj.put("code", "1");Log.d("copyToClipboard", jsonobj.toString());String str = String.format("NativeAndroid.javaCallback(\'%s\')", jsonobj.toString());
// CocosJavascriptJavaBridge.evalString(str);callJsGlobalFunc(str);} catch (Exception e) {}}
获取剪切板内容
ts代码
public static copyToClipBoard(str) {if (sys.platform == sys.Platform.ANDROID) {let android = new AndroidNative();android.getText("getText");}}
export class AndroidNative implements INativeCaller {getText(funcName: string, jsonMsg: string = "{}") { let getText = native.reflection.callStaticMethod(this._activityName, funcName, "()Ljava/lang/String;");console.log("剪切板内容")}
}
java代码
public static String getText(){ClipboardManager clipboard = (ClipboardManager) getActivity().getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE);ClipData clip = clipboard.getPrimaryClip();if (clip != null && clip.getItemCount() > 0) {Log.d("剪切板内容 = ",clip.getItemAt(0).coerceToText(getActivity().getApplicationContext()).toString());return clip.getItemAt(0).coerceToText(getActivity().getApplicationContext()).toString();}return null;}
相关文章:
cocosCreator获取手机剪切板内容
最近游戏中需要加上复制粘贴的功能,这个时候就涉及到安卓原生层的东西。步骤如下: 公开文章地址,见个人博客 复制功能 ts代码 调用代码,在需要复制的地方调用即可。 public static copyToClipBoard(str) {if (sys.platform sy…...
SAP Web IDE 安装使用
For training SAP Web IDE 是基于 Eclipse 内核的在线开发 IDE,可以使用在线的试用版本,但服务器在德国,访问的网速特别慢。也可以使用 Personal Edition,在本机启动和编写代码。 打开官网下载WEBIDE工具包,包含 Tri…...
Excel 常用技巧(六)
Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件,可以用来制作电子表格、完成许多复杂的数据运算,进行数据的分析和预测,并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能&am…...
微软修复Wi-Fi驱动高危漏洞 影响Windows所有版本 可通过局域网发起攻击
微软修复 WiFi 驱动程序中的高危安全漏洞,该漏洞影响 Windows 所有版本,可以通过公共 WiFi 等发起攻击。如果攻击者能够接入到目标设备所处的网络中,则可以悄无声息完成攻击,不需要用户进行任何交互。 在本月例行安全更新中微软修…...
喜马拉雅项目调整
文章目录 1 频道部分下标旋转频道列表平移 2 渐变按钮搜索放大镜登录按钮径向渐变 3 左右图片缩小左边右边 4 猜你喜欢区域播放按钮和遮罩图片缩放 1 频道部分 下标旋转 .x-header-nav .nav-item:hover .icon-down {transform: rotate(-180deg); }频道列表平移 .channel-lay…...
【C++】基础知识--inline(内联)关键字以及与宏的区别
c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…...
opencv的RGB 颜色表
RGB(255,23,140)是光的三原色,也即是红绿蓝Red,Green,Blue,它们的最大值是255,相当于100%。 白色:rgb(255,255,255) 黑色:rgb(0,0,0) 红色:rgb(255,0,0) …...
__autoload 函数和sql_autoload_register函数
目录 __autoload定义 __autoload使用 sql_autoload_registe定义 sql_autoload_registe使用 __autoload定义 __autoload 函数在 PHP 5.1.0 版本中引入,用于在尝试使用尚未被定义的类时自动加载该类。 当 PHP 解释器遇到一个未定义的类时,如果存在 __…...
Python 中国象棋游戏【含Python源码 MX_011期】
简介: 中国象棋是一种古老而深受喜爱的策略棋类游戏,也被称为中国的国粹之一。它在中国有着悠久的历史,起源可以追溯到几个世纪以前。Python 中国象棋游戏是一个用Python编程语言编写的软件程序,旨在模拟和提供中国象棋的游戏体验…...
wps要会员才能把pdf分开,这不纯属智商税吗
我有一个文档 然后 我给你们写好了一个代码 from PyPDF2 import PdfReader, PdfWriterdef split_pdf(file_path, ranges, output_names):# Open the input PDF filewith open(file_path, rb) as pdf_file:reader PdfReader(pdf_file)total_pages len(reader.pages)if len(r…...
springBoot+mongoDB项目中,使用MongoFactory、MongoTemplate分页条件查询,增删查改
MongoDB:CRUD 添加删除修改条件查询分页条件查询 只展示实现类代码 添加 Autowiredprivate MongoTemplate mongoTemplate;Autowiredprivate MongoFactory mongoFactory;Overridepublic boolean saveEntity(entityForm form) {try {实体类 en new 实体类();en.setName(form.ge…...
Leetcode236 二叉树两节点的最近公共祖先
问题描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个…...
Web的UI自动化基础知识
目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…...
【我是产品经理_注册安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …...
Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;
Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息; 智慧工地是指运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工…...
lock_wait_timeout
lock_wait_timeout 是 MySQL 中的一个重要参数,它用于控制当一个 MySQL 会话在等待锁时的等待时间。以下是关于 lock_wait_timeout 的详细解释: 定义与功能 定义:lock_wait_timeout 是一个会话或线程级别的参数,用于指定 MySQL …...
【可控图像生成系列论文(二)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读2
【可控图像生成系列论文(一)】简要介绍了论文的整体流程和方法,本文则将就整体方法、模型结构、训练数据和纹理迁移进行详细介绍。 1.整体方法 MimicBrush 的整体框架如下图所示。为了实现模仿编辑,作者设计了一种具有双扩散模型…...
Linux时间子系统6:NTP原理和Linux NTP校时机制
一、前言 上篇介绍了时间同步的基本概念和常见的时间同步协议NTP、PTP,本篇将详细介绍NTP的原理以及NTP在Linux上如何实现校时。 二、NTP原理介绍 1. 什么是NTP 网络时间协议(英语:Network Time Protocol,缩写:NTP&a…...
边缘微型AI的宿主?—— RISC-V芯片
一、RISC-V技术 RISC-V(发音为 "risk-five")是一种基于精简指令集计算(RISC)原则的开放源代码指令集架构(ISA)。它由加州大学伯克利分校在2010年首次发布,并迅速获得了全球学术界和工…...
MySQL—navicat创建数据库表
-- 创建学生表(列,字段) 使用SQL创建 -- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datetime),家庭住址,email -- 注意点:使用英文括号(),表的名称 …...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...
