cocos打包apk步骤就省略了,毕竟网上一搜一大堆,只要配置好原生开发环境 构建编译就可以了
编译好后,打开发布路径,在路径
\build\jsb-default\frameworks\runtime-src\proj.android-studio\app\src\org\cocos2dx\javascript
目录下打开我们熟悉亲切的AppActivity.java文件
然后在文件的头部添加下图三行代码(这是用来导入剪切板的),
导入以后才可以可以愉快的调用剪切板功能.
如下图写个JavaCopy方法 调用CLIPBOARD_SERVICE ,到这里复制功能已经可以用了。
调用的时候,只要回到你的js文件中在需要使用复制功能的地方 调用下面方法的方法就可以了
JsCopy(str){
if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID)
setTimeout(() => {
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "JavaCopy", "(Ljava/lang/String;)V", str);
}, 100)
},
完毕。
然后是网页上的复制,代码如下:
webCopyString(str){
var input = str;
const el = document.createElement('textarea');
el.value = input;
el.setAttribute('readonly', '');
el.style.contain = 'strict';
el.style.position = 'absolute';
el.style.left = '-9999px';
el.style.fontSize = '12pt';
const selection = getSelection();
var originalRange = false;
if (selection.rangeCount > 0) {
originalRange = selection.getRangeAt(0);
}
document.body.appendChild(el);
el.select();
el.selectionStart = 0;
el.selectionEnd = input.length;
var success = false;
try {
success = document.execCommand('copy');
} catch (err) {}
document.body.removeChild(el);
if (originalRange) {
selection.removeAllRanges();
selection.addRange(originalRange);
}
return success;
},
把要复制的内容直接传入就好了
如有其它方面的问题,欢迎加入技术交流群一起讨论---群号:199678137
验证信息请填你认为的正确答案或关键字:[复制]