Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将带有上下文的文本复制到剪贴板_Android_Clipboard_Copy Paste_Clipboardmanager - Fatal编程技术网

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

Android 如何将带有上下文的文本复制到剪贴板,android,clipboard,copy-paste,clipboardmanager,Android,Clipboard,Copy Paste,Clipboardmanager,我想知道如何在Android中覆盖默认的文本复制机制,以便在从浏览器复制时将文本与元数据(如URL)一起复制,在从精细文件复制到剪贴板管理器时复制文件名 在任何Android设备上普遍实现这一点的方法是什么 更新 用例: 我在Android设备上打开chrome 搜索某物并打开一个网站 我选择一些文本并复制它 我打开我的应用程序并粘贴文本 除了文本,我希望网站的URL被保存 我可以获得复制的文本,但不知道如何获得URL而不单独复制它 在任何Android设备上普遍实现这一点的方法是什么 从A

我想知道如何在Android中覆盖默认的文本复制机制,以便在从浏览器复制时将文本与元数据(如URL)一起复制,在从精细文件复制到剪贴板管理器时复制文件名

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

更新 用例:

  • 我在Android设备上打开chrome
  • 搜索某物并打开一个网站
  • 我选择一些文本并复制它
  • 我打开我的应用程序并粘贴文本
  • 除了文本,我希望网站的URL被保存
我可以获得复制的文本,但不知道如何获得URL而不单独复制它

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

从Android 3.0开始,Android已经支持剪贴板项包含多个数据段的概念。是剪贴板数据的包装器,它可以有“一个或多个实例,每个实例可以保存一个或多个数据项的表示”。因此,没有什么能阻止开发人员将“URL(如果从浏览器复制)、文件名(如果从精细文件复制)”和一些文本一起存储

然而:

  • 你没有办法强迫Android应用程序开发人员创建这样的剪贴板项目

  • 你没有办法强迫Android应用程序开发人员使用这些剪贴板项目(大多数应用程序将
    ClipData
    强制为文本表示并使用它)


    • 还有另一种使用url复制文本的方法

      您可以在应用程序中使用androidWebView,并从该WebView复制文本,然后您可以使用以下代码获取活动url

      String webUrl = webView.getUrl();
      

      希望它能解决你的问题

      我不知道Chrome是否会在你今天的用例中将URL放在剪贴板上,更不用说他们将来是否会这样做了。其他浏览器也是如此。当然欢迎您编写一个应用程序来检查
      ClipData
      中的所有
      Item
      对象,并查看它们提供了什么。如果他们提供URL,请使用它。如果没有,你没有办法强迫Chrome开发者把URL放在剪贴板上。没什么。。。文本和html文本都有。。。Uri为空:(简单地说,你运气不好。将什么放在剪贴板上取决于用户(通过请求复制操作)和用户所在应用程序的开发人员(通过决定“复制操作”的实际含义)。当用户在设备上的任何位置选择任何文本时,我可以拦截复制事件吗?@AbhinavTyagi我不知道怎么做。您找到任何解决方案了吗?是否也可以复制URL?不…:(我只能复制文本!