Android:将文本复制到 API < 11 的剪贴板

Posted

技术标签:

【中文标题】Android:将文本复制到 API < 11 的剪贴板【英文标题】:Android: Copying a text to the clipboard for API < 11 【发布时间】:2012-10-02 13:34:43 【问题描述】:

我在将文本复制到剪贴板时遇到问题。我尝试这样复制:

android.content.ClipboardManager clipboard = ( android.content.ClipboardManager ) getSystemService(Context.CLIPBOARD_SERVICE ); 
android.content.ClipData clip = android.content.ClipData.newPlainText( "text label", "text to clip" );
clipboard.setPrimaryClip( clip );

但问题出在编译器中:

Call requires API level 11 (current min is 7): android.content.ClipboardManager#setPrimaryClip line 245 Android Lint Problem.

如何在 android API

【问题讨论】:

【参考方案1】:

参考:How to copy text programmatically in my Android app

int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) 
    android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    clipboard.setText("text to clip");
 else 
    android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
    android.content.ClipData clip = android.content.ClipData.newPlainText("text label","text to clip");
    clipboard.setPrimaryClip(clip);

添加: 你可能需要清理和构建你的项目:)

【讨论】:

是的,我试过这段代码,但它不起作用。它甚至无法编译,因为编译器说:调用需要 API 级别 11(当前最低为 7):android.content.ClipboardManager#setPrimaryClip line 245 Android Lint Problem. 您是否在清单文件中声明了类似 &lt;uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" /&gt; 的内容?? 当然。编译器抛出错误:“current min is 7”(这是我的应用需要 min API7)。所以我的清单是: 我知道第一个代码块可以在 Android API 您可以在执行此操作的函数之前给出注释@TargetApi(11),以告诉编译器该方法对api进行了适当的检查。

以上是关于Android:将文本复制到 API < 11 的剪贴板的主要内容,如果未能解决你的问题,请参考以下文章

Android 从剪贴板管理器复制/粘贴

如何使用 web api 将图像和文本从 android 应用程序发送到 sql server

fetch API 可以获取文件的文本吗? [复制]

小程序 长按复制文本

如何将复制的文本传递给Android中的其他活动

如何在android中组合文本和图像按钮? [复制]