ArmCloudAF/app/src/main/java/com/bjlx/armcloudaf/ClipboardUtils.java

67 lines
2.1 KiB
Java

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;
}
}
}