8

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

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 < 11 上将文本复制到剪贴板?如果我在复制之前尝试检查 android 的 API 版本 - 我的代码甚至无法编译。也许有人知道这个问题的答案?

4

1 回答 1

27

参考:如何在我的 Android 应用程序中以编程方式复制文本

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

补充: 您可能需要清理和构建您的项目:)

于 2012-10-11T20:09:47.070 回答