今天在开发安卓版抖音解析app的时候遇到需要使用到剪切板的情况,于是一番百度,找到可用方法,记录下来,以便查阅,此文仅记录方法,不记录高版本安卓系统权限问题导致的获取失败之解决办法。
- ClipboardManager: 表示一个剪贴板
- ClipData: 剪贴板中保存的所有剪贴数据集(剪贴板可同时复制/保存多条多种数据条目)
- ClipData.Item: 剪贴数据集中的一个数据条目
写剪切板示例
复制
copy_ocr_text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//获取剪贴板管理器
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
String ocrText = mTxtViewResult.getText().toString();
// 创建普通字符型ClipData
ClipData mClipData = ClipData.newPlainText("OcrText", ocrText);
// 将ClipData内容放到系统剪贴板里。
clipboardManager.setPrimaryClip(mClipData);
Toast.makeText(TakePictureResult.this, "复制成功!", Toast.LENGTH_SHORT).show();
}
});读剪切板示例
复制
// 获取系统剪贴板
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
// 获取剪贴板的剪贴数据集
ClipData clipData = clipboard.getPrimaryClip();
if (clipData != null && clipData.getItemCount() > 0) {
// 从数据集中获取(粘贴)第一条文本数据
CharSequence text = clipData.getItemAt(0).getText();
System.out.println("text: " + text);
}剪切板数据改变监听
复制
// 获取系统剪贴板
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
// 添加剪贴板数据改变监听器
clipboard.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
// 剪贴板中的数据被改变,此方法将被回调
System.out.println("onPrimaryClipChanged()");
}
});
// 移除指定的剪贴板数据改变监听器
// clipboard.removePrimaryClipChangedListener(listener);




评论 (0)