Unity Android&iOS 复制到粘贴板

2022-07-17  本文已影响0人  CERI_CHANNEL

Android

@TargetApi(11)
@SuppressLint({"NewApi"})
// 保存至粘贴板
public static void copyTextToClipboard(final Context activity, final String str) throws Exception  {
    ClipboardManager clipboard =(ClipboardManager)context.getSystemService(context.CLIPBOARD_SRVICE);
    ClipData textCd = ClipData.newPlainText("data" , str);
    clipboard.setPrimaryClip(textCd);
}

@TargetApi(11)
@SuppressLint({"NewApi"})
// 获取粘贴板内容
public static String GetClipboard(Activity context) {
    ClipboardManager clipboard =(ClipboardManager)context.getSystemService(context.CLIPBOARD_SRVICE);
    String result = "";
    if (clipboard.hasPrimaryClip() &&clipboard.getPrimaryClipDescription().hasMimeType(ClipDescripton.MIMETYPE_TEXT_PLAIN)) {
        ClipData cdText = clipboard.getPrimaryClip();
        ClipData.Item item = cdText.getItemAt(0);
        result = item.getText().toString();
    }
    return result;
}

iOS

#define MakeStringCopy( _x_ ) ( _x_ != NULL && [_x_ isKindOfClass:[NSString class]] ) ? strdup( [_x_ UTF8String] ) : NULL
extern "C"
{
    // 保存至粘贴板
    void _SaveToClipboard(char* text)
    {
        UIPasteboard* pasteboard = [UIPasteboard generalPasteboard];
        pasteboard.string = [NSString stringWithUTF8String:text];
    }
    
    // 获取粘贴板内容
    char* _GetClipboardText()
    {
        NSString* content = [[UIPasteboard generalPasteboard] string];
        return MakeStringCopy(content);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读