有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

支持新旧安卓版本的java Copy with clipboard manager?

我试图在安卓上以编程方式复制文本,在另一个问题上投票最多的答案提供了这些行,但当使用它们时,我得到了错误:类需要API级别11(当前最小值为8):

ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);

我直接从问题中抄了几行。试过之后 import 安卓.content.ClipboardManager;我测试了import 安卓.text.ClipboardManager;,但它也产生了一个错误The method setPrimaryClip(ClipData) is undefined for the type ClipboardManager以及关于剪贴簿管理器被弃用的警告

我的应用程序支持Android 2.2(我想是API 8)以后的版本,我怎样才能复制文本,使其在所有版本的Android上工作


共 (1) 个答案

  1. # 1 楼答案

    试着使用以下方法:

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