package com.bjlx.armcloudaf; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.text.TextUtils; import android.util.Log; public class ClipboardUtils { private static final String TAG = "ClipboardUtils"; public static String pasteText(Context context) { try { // 获取剪贴板服务 ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); if (clipboard == null) { Log.w(TAG, "Clipboard service not available"); return null; } // 检查剪贴板是否有内容 if (!clipboard.hasPrimaryClip()) { Log.d(TAG, "Clipboard is empty"); return null; } // 获取剪贴板内容 ClipData clipData = clipboard.getPrimaryClip(); if (clipData == null) { Log.w(TAG, "ClipData is null"); return null; } // 检查项目数量 if (clipData.getItemCount() == 0) { Log.d(TAG, "ClipData has no items"); return null; } // 获取第一项内容 ClipData.Item item = clipData.getItemAt(0); // 尝试获取文本内容 CharSequence text = item.getText(); if (text != null) { String result = text.toString(); if (!TextUtils.isEmpty(result)) { Log.d(TAG, "Successfully pasted text: " + result.substring(0, Math.min(20, result.length())) + "..."); return result; } } Log.d(TAG, "Clipboard item has no text content"); return null; } catch (SecurityException e) { Log.e(TAG, "Security exception when accessing clipboard", e); return null; } catch (Exception e) { Log.e(TAG, "Error pasting text from clipboard", e); return null; } } }