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;
}
參考文檔:
