版權聲明:本文為原創文章,轉載請聲明http://www.cnblogs.com/unityExplorer/p/8417014.html
unity中提供的TextEditor類,只能在windows環境下使用,對於安卓和iOS,就不得不使用原生代碼了
在unity中使用宏區分下平台:
public void CopyToClipboard(string input) { #if UNITY_EDITOR TextEditor t = new TextEditor(); t.text = input; t.OnFocus(); t.Copy(); #elif UNITY_IPHONE CopyTextToClipboard_iOS(input); #elif UNITY_ANDROID AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"); AndroidJavaClass tool = new AndroidJavaClass("com.my.ugcf.Tool"); tool.CallStatic("CopyTextToClipboard", currentActivity, input); #endif }
java:
public static void CopyTextToClipboard(final Context activity, final String str) throws Exception { if (Looper.myLooper() == null){ Looper.prepare(); } clipboard = (ClipboardManager) activity.getSystemService(Activity.CLIPBOARD_SERVICE); ClipData textCd = ClipData.newPlainText("data", str); clipboard.setPrimaryClip(textCd); }
objective-c:
void CopyTextToClipboard_iOS(const char *text) { UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = _CreateNSString(text); }