Copy-and-paste support in a native Android build requires a bridge between TypeScript and Java.
Java imports:
1 2 3
| import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context;
|
Copy text in AppActivity.java or an appropriate native helper:
1 2 3 4 5
| public static void copyToClipboard(String text) { ClipboardManager manager = (ClipboardManager) getActivity() .getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE); manager.setPrimaryClip(ClipData.newPlainText("Copied Text", text)); }
|
Read clipboard text:
1 2 3 4 5 6 7 8 9
| public static String getText() { ClipboardManager manager = (ClipboardManager) getActivity() .getApplicationContext().getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = manager.getPrimaryClip(); if (clip != null && clip.getItemCount() > 0) { return clip.getItemAt(0).coerceToText(getActivity()).toString(); } return null; }
|
Call the getter through Cocos native reflection:
1 2 3 4 5
| const text = native.reflection.callStaticMethod( this._activityName, 'getText', '()Ljava/lang/String;' );
|
Only read clipboard contents in direct response to an appropriate user action and account for platform privacy restrictions.