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 中添加吧

 

import android.content.ClipboardManager; //導入需要的庫


    static public int copyToClipboard(final String text)
    {
        try
        {
            //Log.d("cocos2dx","copyToClipboard " + text);
            Runnable runnable = new Runnable() {
                public void run() {
                    android.content.ClipboardManager clipboard = (android.content.ClipboardManager) Cocos2dxActivity.getContext().getSystemService(Context.CLIPBOARD_SERVICE);
                    android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", text);
                    clipboard.setPrimaryClip(clip);
                }
            };
            //getSystemService運行所在線程必須執行過Looper.prepare()
            //否則會出現Can't create handler inside thread that has not called Looper.prepare()
            ((Cocos2dxActivity)sActivity).runOnUiThread(runnable);

        }catch(Exception e){
           // Log.d("cocos2dx","copyToClipboard error");
            e.printStackTrace();
            return -1;
        }
        return 0;
    }

2、ios-復制字符串到剪貼板

 /*復制到剪切板*/
int Application::copyToClipboard(const std::string &text){
    //把char*轉換成OC的NSString
    NSString *nsMessage= [NSString stringWithUTF8String:text.c_str()];
    //獲得ios的剪切板
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    //改變剪切板的內容
    pasteboard.string = nsMessage;
    return 0;
}

 


 

參考文檔:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM