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. 您是否在清单文件中声明了类似<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />
的内容??
当然。编译器抛出错误:“current min is 7”(这是我的应用需要 min API7)。所以我的清单是: @TargetApi(11)
,以告诉编译器该方法对api进行了适当的检查。以上是关于Android:将文本复制到 API < 11 的剪贴板的主要内容,如果未能解决你的问题,请参考以下文章