求肋官方团队:cocos creator 复制文本到android、ios等全平台剪贴板 应该怎么实现

https://yq.aliyun.com/ziliao/141496

/**

  • 实现文本复制功能
  • add by wangqianzhou
  • @param content
    */
    public static void copy(String content, Context context)
    {
    // 得到剪贴板管理器
    ClipboardManager cmb = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
    cmb.setText(content.trim());
    }

网络上找到的android大多是这样的,可是我并不知道这个Context应该怎么传入或者什么,麻烦官网能给一个具体实现的例子吗,并且creator这边调用原生的时候,我需不需要注意什么,我应该自己创建一个java文件反射调用还是什么。
ios还没有去尝试弄,已经折腾了快2天了,不想浪费时间 来求助官方团队

感觉好像在v1.8.2上面似乎有内存泄露

你也许需要去补一下 Android 开发相关知识?
Context 在这里一般指游戏主 Activity,你应该封装一个类似

public static Context sContext;
public static void copyText(String text) {
}

的方法,在游戏 Activity 的 onCreate 中传入 sContext,从 js 端调用的时候只传入text。

这个东西很简单

import android.content.Context;
import android.os.Bundle;
import android.content.ClipData;
import android.content.ClipboardManager;
import static android.content.Context.CLIPBOARD_SERVICE;
//这是需要导入的包。自己删减
在类里面。 实现public static Activity instance;
然后写一个类里面的复制方法给js调用
public static void Copy(String text){
// text 为js调用java方法传进来的值
ClipboardManager myClipboard;
myClipboard = (ClipboardManager)instance.getSystemService(CLIPBOARD_SERVICE);
// instance是自己定义的上下文 这个在类里面一定要有
ClipData myClip;
myClip = ClipData.newPlainText(“text”, text);
myClipboard.setPrimaryClip(myClip);
}

这个是自己做过的方法,绝对可以用!

ios就更简单了。
+(void)copy:(NSString*)content
{
NSLog(@"%@",@"-----复制-----");
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = content;
}

永远不要指望官方团队会给你解决问题,他们自己的bug那么多都还没解决!

谢谢,关于你这个我还想做一个补充,就是要将这段代码添加到android下的AppActivity
instance用this代替,即可,当时弄了好久 现在弄ios继续踩坑

你好,就是关于ios这一块,我应该把代码放在那一个文件,那一块上,我调用的时候,写的类是AppController 调用方法也是写的copy, 还是说我应该自己定义一个文件写进去

就放那里就行