让代码更简单

Android 系统剪贴板读写

重要:本文最后更新于2022-11-08 19:24:59,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

今天在开发安卓抖音解析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);

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐