android - 如何将带有上下文的文本复制到剪贴板

标签 android clipboard copy-paste clipboardmanager

我想知道如何覆盖 Android 中的默认文本复制机制,以复制文本以及元数据(例如,如果从浏览器复制,则复制 URL);如果从精细文件复制到剪贴板管理器,则复制文件名?

在任何 Android 设备上普遍实现这一点的方法是什么?

已更新

用例:

  • 我在 Android 设备上打开 Chrome。
  • 搜索内容并打开网站。
  • 我选择一些文本并复制它。
  • 我打开应用并粘贴文本。
  • 我希望将网站网址与文本一起保存。

我可以获取复制的文本,但不确定如何在不单独复制的情况下获取 URL?

最佳答案

What would be the approach for implementing this universally on any Android device?

从 Android 3.0 开始,Android 已经支持具有多条数据的剪贴板项目的概念。 ClipData是剪贴板数据的包装器,它可以具有“一个或 Item 实例,每个实例可以保存一项数据的一个或多个表示”。因此,没有什么可以阻止开发人员存储“如果从浏览器复制则为 URL,如果从精细文件复制则为文件名”以及一些文本。

但是:

  • 您无法强制 Android 应用开发者创建此类剪贴板项目

  • 您无法强制 Android 应用开发人员使用此类剪贴板项目(大多数应用会将 ClipData 强制为文本表示形式并使用它)

关于android - 如何将带有上下文的文本复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34416666/

相关文章:

android - 使用剪贴板管理器在 Android 中复制粘贴图像

python - 以更高的分辨率将 matplotlib 图复制到 QClipboard

javascript - 经典的复制到剪贴板是否一定需要输入字段/文本区域字段?

javascript - HTA:尝试将各种输入框和文本区域写入文本文件并复制到剪贴板

java - boolean 值和 if 条件的 Android Studio SharedPreferences

android - 无法添加窗口—— token android.os.BinderProxy@42824 无效;你的 Activity 在运行吗?

android - 使用 Volley 库添加自定义 header

text - 为什么文本编辑器会使粘贴代码的缩进变形?

matlab - 如何复制 MATLAB 图形并将其粘贴到 Word 文档中?

android - 既然 fragment 已被弃用,在 Android API 28 中使用什么