package com.blankj.utilcode.util; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.net.Uri; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/09/25 * desc : 剪贴板相关工具类 * </pre> */ public final class ClipboardUtils { private ClipboardUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } /** * 复制文本到剪贴板 * * @param text 文本 */ public static void copyText(CharSequence text) { ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setPrimaryClip(ClipData.newPlainText("text", text)); } /** * 获取剪贴板的文本 * * @return 剪贴板的文本 */ public static CharSequence getText() { ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = clipboard.getPrimaryClip(); if (clip != null && clip.getItemCount() > 0) { return clip.getItemAt(0).coerceToText(Utils.getContext()); } return null; } /** * 复制uri到剪贴板 * * @param uri uri */ public static void copyUri(Uri uri) { ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setPrimaryClip(ClipData.newUri(Utils.getContext().getContentResolver(), "uri", uri)); } /** * 获取剪贴板的uri * * @return 剪贴板的uri */ public static Uri getUri() { ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = clipboard.getPrimaryClip(); if (clip != null && clip.getItemCount() > 0) { return clip.getItemAt(0).getUri(); } return null; } /** * 复制意图到剪贴板 * * @param intent 意图 */ public static void copyIntent(Intent intent) { ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setPrimaryClip(ClipData.newIntent("intent", intent)); } /** * 获取剪贴板的意图 * * @return 剪贴板的意图 */ public static Intent getIntent() { ClipboardManager clipboard = (ClipboardManager) Utils.getContext().getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = clipboard.getPrimaryClip(); if (clip != null && clip.getItemCount() > 0) { return clip.getItemAt(0).getIntent(); } return null; } }