67 lines
2.1 KiB
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;
|
|
}
|
|
}
|
|
}
|
|
|