Android(安卓)系统剪贴板的使用 - 复制、获取和清空
16lz
2021-01-26
- ClipboardManager: 表示一个剪贴板
- ClipData: 剪贴板中保存的所有剪贴数据集(剪贴板可同时复制/保存多条多种数据条目)
- ClipData.Item: 剪贴数据集中的一个数据条目
复制内容
/** * 实现文本复制功能 * * @param content 复制的文本 */public static void copy(String content) { if (!TextUtils.isEmpty(content)) { // 得到剪贴板管理器 ClipboardManager cmb = (ClipboardManager) CloudReaderApplication.getInstance().getSystemService(Context.CLIPBOARD_SERVICE); cmb.setText(content.trim()); // 创建一个剪贴数据集,包含一个普通文本数据条目(需要复制的数据) ClipData clipData = ClipData.newPlainText(null, content); // 把数据集设置(复制)到剪贴板 cmb.setPrimaryClip(clipData); }}
获取系统剪贴板内容
/** * 获取系统剪贴板内容 */public static String getClipContent() { ClipboardManager manager = (ClipboardManager) CloudReaderApplication.getInstance().getSystemService(Context.CLIPBOARD_SERVICE); if (manager != null) { if (manager.hasPrimaryClip() && manager.getPrimaryClip().getItemCount() > 0) { CharSequence addedText = manager.getPrimaryClip().getItemAt(0).getText(); String addedTextString = String.valueOf(addedText); if (!TextUtils.isEmpty(addedTextString)) { return addedTextString; } } } return "";}
清空剪贴板内容
/** * 清空剪贴板内容 */public static void clearClipboard() { ClipboardManager manager = (ClipboardManager) CloudReaderApplication.getInstance().getSystemService(Context.CLIPBOARD_SERVICE); if (manager != null) { try { manager.setPrimaryClip(manager.getPrimaryClip()); manager.setText(null); } catch (Exception e) { DebugUtil.error(e.getMessage()); } }}
剪贴板的数据改变监听
// 获取系统剪贴板ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);// 添加剪贴板数据改变监听器clipboard.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() { @Override public void onPrimaryClipChanged() { // 剪贴板中的数据被改变,此方法将被回调 System.out.println("onPrimaryClipChanged()"); }});// 移除指定的剪贴板数据改变监听器// clipboard.removePrimaryClipChangedListener(listener);
更多相关文章
- 一句话锁定MySQL数据占用元凶
- 一行代码玩转android数据库之增删改查,超级简单 第三方框架xUtils
- Android(安卓)系统提供媒体库 URI 与 数据库的对应关系
- Android(安卓)异步开发之 AsyncQueryHandler
- Android(安卓)ListView理解,BaseAdapter
- PhoneGap 初探
- Android自定义dialog向Activity传递数据
- 自定义Android(安卓)ORM 框架greenDAO数据库文件的路径
- Android学习笔记之数据持久化