1. 程式人生 > >cocos2dx專案複製文字到手機貼上板

cocos2dx專案複製文字到手機貼上板

有的遊戲中會提示新增官方微信或者關注公眾號,為了方便玩家操作,就會有一個複製到貼上板的功能。廢話不多說了,直接上程式碼吧。

c++程式碼如下:

void WxApiInterFace::CopyStringToClipBoard(const char* roomIdStr)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
JniMethodInfo minfo;
log("jni CopyRoomIDAndroid is %s", roomIdStr);
bool isHave = JniHelper::getStaticMethodInfo(minfo, "org/cocos2dx/lua/AppActivity", "CopyStringToClipBoard", "(Ljava/lang/String;)I");


if (!isHave)
{
log("jni CopyStringToClipBoard is null");
}
else
{
jstring jroomIdStr = minfo.env->NewStringUTF(roomIdStr);
jint copyResult = (jint)minfo.env->CallStaticIntMethod(minfo.classID, minfo.methodID, jroomIdStr);
}
#endif


#if(CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
int copyResult = IOSPlatform::GetInstance().copyOC(roomIdStr);
#endif

}

java中的程式碼如下:

    //複製房間ID
    public static int CopyStringToClipBoard(final String copyString){
    try
         {
             Runnable runnable = new Runnable() {
                 public void run() {               
                     ClipboardManager clipboard = (ClipboardManager) instance.getSystemService(Context.CLIPBOARD_SERVICE);
                     android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", copyString);
                     clipboard.setPrimaryClip(clip);
                 }
             };
             //getSystemService執行所線上程必須執行過Looper.prepare()
             //否則會出現Can't create handler inside thread that has not called Looper.prepare()
             ((Cocos2dxActivity)instance).runOnUiThread(runnable);
  
         }catch(Exception e){
             e.printStackTrace();
             return -1;
         }
         return 0;

    }

這樣就好了,只需要簡單的呼叫一下c++函式就完成了複製貼上板功能了,至於想複製啥,就隨意了。

另外把ios的方法也加上去:

//拷貝到系統剪下板
int IOSPlatform::copyOC(const char* roomIdStr)
{
    //把char*轉換成OC的NSString  
    NSString *nsMessage= [[NSString alloc] initWithCString:roomIdStr encoding:NSUTF8StringEncoding];  
      
    //獲得iOS的剪下板  
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];  
      
    //改變剪下板的內容  
    pasteboard.string = nsMessage;  
return 0;
}

相關推薦

cocos2dx專案複製文字手機貼上

有的遊戲中會提示新增官方微信或者關注公眾號,為了方便玩家操作,就會有一個複製到貼上板的功能。廢話不多說了,直接上程式碼吧。c++程式碼如下:void WxApiInterFace::CopyStringToClipBoard(const char* roomIdStr){#i

安卓開發中將文字複製手機貼上

在android studio 開發中實現將文字複製到貼上板的功能: public static void copyToClipboard(Context context, String text) { ClipboardManager systemServic

JS複製文字貼上,前端H5移動端點選按鈕複製文字貼上

最近做手機端H5網頁裡面有個活動:點選按鈕複製邀請碼。查過一些方法,在電腦端可以複製貼上,一放在手機上面開啟網頁就不能複製貼上了。直接進入正題使用開源專案 clipboard.js,可以通過script標籤引入也可以通過npm安裝,npm install clipboard.

vue 專案中 點選,按鈕,複製圖片到貼上

一個很奇葩的需求 生成了一張圖片後,在圖片下有個按鈕,點一下就複製到了貼上板 一開始先找到了clipboard.js  但是它只能複製文字 把圖片的base64地址碼複製瞭然後再編碼成圖片? 然後到so、git上問,找到了一個demo 點選一下圖片就複製到了貼上板

js複製內容到貼上

function copyUrl(){        var oInput = document.createElement('input');        oInput.value = "https://blog.csdn.net/xiaonuanli/article/d

HTML5 完美解決javascript中iphone手機和android手機複製文字到剪下問題

1.執行以下解決方案條件:(這個是原理)①執行復制方法時 所複製文字不能被任何 塊級元素和行內塊元素和行內元素遮蓋否則無效;(解決方案:將文字通過絕對定位或其他方式移除螢幕外)②ios中不能複製屬性值,只能複製文字元素節點;(解決方案:可以把文字顏色設成背景色就能達到隱藏看不見的效果不影響顯示);直接上程式碼

iOS小功能備忘----實現文字複製貼上

今天,我們一起來學習在iOS中如何自定義將文字複製到貼上板。 在iOS中有三個控制元件自身就有複製-貼上的功能:UITextView、UITextField和UIWebView。在這裡,我們自定義一個button簡單地實現將label中的文字複製到貼上板中。 首先建立一個工

相容手機PC,點選即可複製文字內容到剪下外掛clipboard.js

非常簡單:   A modern approach to copy text to clipboard No Flash. No dependencies. Just 3kb gzipped   Copying text to the clipboard

jq 點選複製div裡面的內容 如果貼上到富文字中,會將樣式,裡面所有的標籤,文字一併貼上進去

<!doctype html> <html> <head> <meta charset="utf-8"> <title>點選複製功能</title> </head> <script src="http://code

clipboard.js複製文字到剪下

<a title="複製連結地址" id="copyId" data-clipboard-text="${siteUrl}/subject/view.jhtml?id=${subject.id}" ></a> <script type="text/javasc

點選將文字複製到剪下

<div class="uploder_content" id="copyText" data-clipboard-action="copy" data-clipboard-target="#copySpan" onclick="copyText(this

JS實現複製文字到電腦剪下

程式碼實現 (吐槽:百度上各種方法,就是不好使。或者就是引用第三方外掛,去stackoverflow,一下就解決,所以啊,多用谷歌) 已測試谷歌和IE(8) function copyStringToC

個人js學習細節- 實現點選按鈕複製文字框中文字到剪下中的方法

主要程式碼: <textarea name="text" id="text" cols="30" rows="10"></textarea> <button onclick="myCopy()">點選複製文字框內的內容</button><br

用js實現複製內容到作業系統貼上(相容IE、谷歌、火狐等瀏覽器)

一、如果只考慮IE瀏覽器,可以直接用原聲js實現 if(window.clipboardData){ //清空作業系統貼上板 window.clipboardData.clearData(); //將需要複製的內容複製到作業系統貼上板 window.clipbo

點選複製貼上

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8"> </head> <body> <script type="

js相容安卓和IOS的複製文字到剪下

<input type="text" onclick="copy('api.xslfgame.com/wxchatlogin/index?agentId={$member['id']}')" value="api.xslfgame.com/wxchatlogin/in

Intellij IDE使用 ideavim,不能複製文件到系統貼上

vim的yank命令預設不會複製到系統貼上板,而是貼上到暫存器。你可以使用* 或 +暫存器來訪問系統貼上板。 在~/.ideavimrc (如果不存在就建立) 中新增下列選項 set clipboard+=unnamed 這是標準vim的特性,對於idea

向剪下複製文字的js庫——clipboard.js

首先,載入clipboard.js檔案(我上網找的一個cdn): <script src="https://cdn.rawgit.com/zenorocha/clipboard.js/master/dist/clipboard.min.js">

網頁複製,使用clipboard.js複製任意內容到貼上.不需要通過flash

之前做網頁直接複製找了很多解決方案,一直沒有找到一個好的,一般都需要使用外部的flash來解決,上次是看到人家的一個推廣頁在微信裡面,讓我點選複製,我就點選複製了,居然複製成功了,然後就研究了一下人家的原始碼,把複製的js拿出來了  然後配合百度 谷歌   寫了一個簡單的d

複製文字到剪帖

<textarea>Ajax中國歡迎你....</textarea> <button onclick=window.clipboardData.setData('text'