Cocos2dx 复制文本到剪切板(Android 和 ios)

前端之家收集整理的这篇文章主要介绍了Cocos2dx 复制文本到剪切板(Android 和 ios)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Cocos2dx 复制文本到剪切板(Android 和 ios)

至于c++调用java lua调用java 等方法这里不介绍了。下面本人真机亲测。如果有问题请留言交流。

1.Android

实现方式主要看 ClipboardManager

ClipboardManager cmb = (ClipboardManager)

getSystemService(CLIPBOARD_SERVICE);
cbm.setText(et.getText().toString());

1、参考文档:Android 复制文本内容到系统剪贴板的最简单实践

ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);

cm.setText(要复制的文本内容);

源码分享

Cocos2dxHelper.java 中添加

  1. import android.content.ClipboardManager; //导入需要的库
  2.  
  3.  
  4. static public int copyToClipboard(final String text)
  5. {
  6. try
  7. {
  8. //Log.d("cocos2dx","copyToClipboard " + text);
  9. Runnable runnable = new Runnable() {
  10. public void run() {
  11. android.content.ClipboardManager clipboard = (android.content.ClipboardManager) Cocos2dxActivity.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
  12. android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text",text);
  13. clipboard.setPrimaryClip(clip);
  14. }
  15. };
  16. //getSystemService运行所在线程必须执行过Looper.prepare()
  17. //否则会出现Can't create handler inside thread that has not called Looper.prepare()
  18. ((Cocos2dxActivity)sActivity).runOnUiThread(runnable);
  19.  
  20. }catch(Exception e){
  21. // Log.d("cocos2dx","copyToClipboard error");
  22. e.printStackTrace();
  23. return -1;
  24. }
  25. return 0;
  26. }

2、ios-复制字符串到剪贴板

  1. /*复制到剪切板*/
  2. int Application::copyToClipboard(const std::string &text){
  3. //把char*转换成OC的NSString
  4. NSString *nsMessage= [NSString stringWithUTF8String:text.c_str()];
  5. //获得ios的剪切板
  6. UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
  7. //改变剪切板的内容
  8. pasteboard.string = nsMessage;
  9. return 0;
  10. }

参考文档:

http://www.jianshu.com/p/9d84c70b9742

猜你在找的Cocos2d-x相关文章