3 回答
TA贡献1802条经验 获得超5个赞
使用ClipboardManager#setPrimaryClip方法:
import android.content.ClipboardManager;
// ...
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);
ClipboardManager API参考
TA贡献1811条经验 获得超5个赞
因此,每个人都同意应如何完成此工作,但是由于没人愿意提供完整的解决方案,因此请按以下步骤进行:
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);
}
我假设您在清单中声明了以下内容:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />
TA贡献1868条经验 获得超4个赞
Googling将您带到android.content.ClipboardManager,您可以像我所做的那样确定剪贴板在API <11上不可用,因为文档页面上显示“ Since:API Level 11”。
实际上有两个类,第二个扩展了第一个类-android.text.ClipboardManager和android.content.ClipboardManager。
android.text.ClipboardManager自API 1起就存在,但仅适用于文本内容。
android.content.ClipboardManager是使用剪贴板的首选方法,但在API级别<11(Honeycomb)上不可用。
要获取它们中的任何一个,您需要以下代码:
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
但是对于API <11,您必须导入android.text.ClipboardManager,对于API> = 11 android.content.ClipboardManager
- 3 回答
- 0 关注
- 488 浏览
添加回答
举报