在应用程序中实现“复制链接文本”功能

2024-06-22

我有 Android WebView 显示搜索结果。使用上下文菜单和网页视图命中测试结果,我已经成功实现了一系列选项,例如打开、保存、复制链接 url。
现在,我想实施复制链接文本Google Chrome Android 中存在的功能应仅复制链接文本(标题)。默认 Android 浏览器中也有一个类似(不准确)的功能,即“选择文本”选项。
我不想要使用剪贴板复制文本的代码,而是我的主要座右铭是确定检索链接标题.
The link url可以使用检索HitTestResult getExtra() 方法同样有什么方法可以检索链接文本(标题)?
我已经提到过如何在Android WebView中获取加载的网页标题? https://stackoverflow.com/questions/8193239/how-to-get-loaded-web-page-title-in-android-webview但它在加载网页后给出标题,而不是在按下链接时给出标题。


很遗憾,您发布的链接是获​​取页面标题的最快方法(您可以参考第二个答案 https://stackoverflow.com/a/12154530/2829009,这可能更快)。

其背后的原因是,需要先加载网站,然后才能阅读页面标题。优点onReceivedTitle()(链接的第二个答案)是它不会等到整个页面加载完毕。它会等到加载足够的内容才能从文档中检索标题。每次页面标题发生更改(由于 JavaScript 或其他原因)时,它还会通知您。


Edit:
What chrome does with Copy link text is to copy the text of the link like this:
<a href="linkUrl">Linktext</a>

这通过 webview 很难实现,因为您需要访问网页的 html 内容。有一些解决方法(请参阅here https://stackoverflow.com/questions/10448717/android-text-selection-in-webview).

有两个 API(选择文本 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/webkit/WebView.java#WebView.selectText%28%29 and 复制选择 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/webkit/WebView.java#WebView.copySelection%28%29) 哪个是等待 API 委员会批准,他们会帮助您执行此操作,但目前不可用。

目前还没有明确的官方方法来执行此操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在应用程序中实现“复制链接文本”功能 的相关文章

随机推荐

  • NSFileManager URL 与路径

    为什么 URL 方法是这样的moveItemAtURL toURL error of NSFileManager类比 Path 方法更推荐moveItemAtPath toPath error 创建 NSURL 对象时 还会检查路径是否有效
  • 捕获组内贪婪修饰符的奇怪行为

    考虑以下命令 text lt abcdEEEEfg sub c E text 1 ab EEEfg lt lt lt OKAY sub c E text 1 ab EEfg lt lt lt WEIRD sub c E text perl
  • FLOPS Intel 核心并使用 C 语言对其进行测试(内积)

    我对测量触发器有一些误解 在英特尔架构上 触发器是一次加法和一次乘法吗 我在网上的某个地方读到过这一点 没有任何辩论可以拒绝这一点 我知道FLOP在不同类型的cpu上有不同的含义 如何计算理论峰值 FLOPS 我使用的是 Intel R C
  • execve() 无法启动 C 程序

    我正在尝试使用生成一个新进程execve from unistd h在 Linux 上 我尝试向它传递以下参数execve bin ls bin ls NULL 但没有得到结果 我也没有收到错误 程序只是退出 发生这种情况有原因吗 我尝试以
  • 在数据表 Ajax 调用中通过 Ajax 更新 div

    我想进行一次 Ajax 调用 不仅更新数据表 还更新位于页面其他位置的 div 我正在使用 Ajax datatable rails gem 我构建了 ajax 调用的上半部分 例如 people datatable dataTable p
  • 调用函数时,函数名称和参数之间的“类型断言”是什么?

    In this Typescript React 入门指南 https github com Microsoft TypeScript React Starter creating a store它给 import createStore
  • 如何在 Visual Studio 2015 cordova 项目中更新 cordova-ios 版本?

    我正在 Visual Studio 2015 中使用 cordova 模板开发 ios 应用程序 我已经按照此链接中的描述配置了 mac book https taco visualstudio com en us docs ios gui
  • 这是使用嵌入式 SQL 相对于存储过程的有效优势吗?

    这是我没有听说过的 SP 论据 火焰喷射器 温柔对待羽绒虱 由于每次访问数据库服务器都会产生相关开销 因此我建议将 SQL 放在 SP 中而不是嵌入代码中的一个可能原因是 您可以更容易地进行更改 而不会影响性能 例如 假设您需要执行返回标量
  • Joda 时间,周期至总毫秒数

    我正在尝试获取total毫秒数 not周期对象实例中的毫秒字段 我尝试了多次转换 因为我找不到任何轻松提供它的方法 有没有人曾经需要过它并设法取回它 我的补丁需要这个 以计算出负周期 负毫秒 负周期 您无法直接从Period 因为像月份和年
  • 如何只运行30分钟的java函数

    我需要创建一个仅运行 30 分钟的 java 函数 并在 30 分钟结束时执行一些操作 但如果满足正确的条件 它也应该能够在给定时间之前自行终止 我不希望该函数处于休眠状态 因为它应该收集数据 因此没有休眠线程 Thanks Use Tim
  • Django 设置:引发 KeyError、引发 ImproperlyConfigured 或使用默认值?

    Django 希望您在以下位置使用环境变量settings py适应多种环境 例如本地 heroku AWS 我想我应该在环境变量中定义数据库的用户名DB USERNAME 我应该如何阅读它 import os DB USERNAME os
  • PHP imagettftext 基线解决方法

    我正在编写使用 PHP 将文本打印到图像的方法 然而 该函数imagettftext 使用基线 而我需要文本垂直居中 因此 我要么需要一种方法来打印文本 其中 y 不是从顶部到基线的距离 而是从边界框的顶部到顶部的距离 或者我需要一种可以确
  • 奇怪的 View.getHitRect() 行为

    我有一个简单的布局
  • MEAN 堆栈文件上传

    我最近开始使用 MEAN Stack 进行编程 目前正在实现某种社交网络 一直使用 MEAN io 框架来做到这一点 我现在的主要问题是让文件上传正常工作 因为我想做的是将文件从表单接收到 AngularJS 控制器中 并将其与更多信息一起
  • 使用 CSS 将单选按钮标签放置在上方

    我需要能够将单选按钮的标签放置在选项上方 而不是放置在左侧或右侧 有没有办法使用 CSS 来实现这种效果 THanks 我想我知道你在寻找什么 但如果我没有抓住重点 请纠正我 我假设您希望单选按钮位于其标签下方的中心 如果您同意添加 这会容
  • 如何在 svelte 3 中强制渲染?

    我有一个带有输入字段的表单 当我键入 keyup 时 必须清除这些字段之一Enter钥匙 我知道我可以将此字段作为受控字段来处理 意味着监听keyup并维护字段的副本 或者使用双向绑定 但在我的用例中 我不能执行后者 而且我宁愿不执行前者
  • 从 postgres 中的复杂嵌套结构中检索具有特定键名称的 json 元素

    我在 postgres json 字段中有一个复杂的嵌套 json 结构 我想列出所有带有键 type 的元素值 无论它们出现在嵌套结构中的哪个位置 该结构包含嵌套在多个深度的数组中的数组 我应该使用什么sql查询 表结构为 create
  • 如何在 Xamarin.Forms 项目中使用 .netstandard 中的 WCF 服务?

    我创建了一个 Xamarin Forms 项目 其中 netstandard 2 0 作为 PCL 项目 我正在尝试在该项目中使用 WCF 服务 我已经为 WCF 服务添加了连接服务 当我尝试调用服务中提供的任何方法时 它会给出如下错误 S
  • DynamoDB 并发写入

    我有一个现有的 DynamoDB 表 其属性如下 hk hash key rk range key a1 a2 a3 我有一个现有的 DynamoDb 客户端 它只会更新 a1 的现有记录 我想创建第二个编写器 DDB 客户端 它也将更新现
  • 在应用程序中实现“复制链接文本”功能

    我有 Android WebView 显示搜索结果 使用上下文菜单和网页视图命中测试结果 我已经成功实现了一系列选项 例如打开 保存 复制链接 url 现在 我想实施复制链接文本Google Chrome Android 中存在的功能应仅复