cocosCreator获取手机剪切板内容

2024-06-18 07:37

本文主要是介绍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获取手机剪切板内容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071676

相关文章

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值