我正在尝试在android上以编程方式复制文本,提供这些行的另一个问题是投票率最高的答案,但是使用它们时出现错误:类需要API级别11(当前最小值为8):
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);
我直接从问题中复制了这些行。经过尝试
import android.content.ClipboardManager;
我测试了import android.text.ClipboardManager;
,但它也产生了一个错误The method setPrimaryClip(ClipData) is undefined for the type ClipboardManager
以及有关ClipboardManager被弃用的警告。我的应用开始支持Android 2.2(我认为是API 8),如何复制文本,使其可在所有版本的android上使用?
最佳答案
尝试使用类似以下的内容:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
final android.content.ClipboardManager clipboardManager = (android.content.ClipboardManager) context
.getSystemService(Context.CLIPBOARD_SERVICE);
final android.content.ClipData clipData = android.content.ClipData
.newPlainText("text label", "text to clip");
clipboardManager.setPrimaryClip(clipData);
} else {
final android.text.ClipboardManager clipboardManager = (android.text.ClipboardManager) context
.getSystemService(Context.CLIPBOARD_SERVICE);
clipboardManager.setText("text to clip");
}