【问题标题】:How does Lastpass know the current URL in ChromeLastpass 如何知道 Chrome 中的当前 URL
【发布时间】:2016-12-28 15:04:05
【问题描述】:

在 Android 版 Chrome 中浏览时,如果 Lastpass 将 URL 识别为与您关联的登录详细信息,则会弹出建议。

它如何知道 Chrome 正在查看哪个 URL?我知道 Lastpass 使用了Accessibility Services,但我想知道它是如何从 Chrome 中查询当前 URL 的。

PS。显然它只适用于 Chrome(例如它不会在 Opera 中弹出),所以它可能是 Chrome 特有的。

【问题讨论】:

    标签: android google-chrome lastpass


    【解决方案1】:

    Android 上的 LastPass 使用 canRetrieveWindowContent true 请求辅助功能权限。这使它可以遍历当前视图层次结构,并将视图作为 AccessibilityNodeInfo 对象访问。

    Accessibility API 让您可以通过视图上显示的文本搜索节点,并为您提供每个此类视图的 java 类名称。 AccessibilityNodeInfo#findAccessibilityNodeInfosByText

    该功能在 Opera 上不起作用可能是因为开发人员从未为其处理视图层次结构遍历逻辑。

    查看https://developer.android.com/guide/topics/ui/accessibility/services.html

    【讨论】:

      【解决方案2】:

      我一般使用 javascript,除了 Andoid 功能,并且通过一些黑客攻击,可以获得对所有打开窗口的引用(例如获取它们的 URL)。见this answer from 2009

      【讨论】:

      • 这是一个关于另一个应用程序(例如 Lastpass)如何知道另一个应用程序(例如 Chrome)中的当前 url 的问题。你不能使用 javascript 来做到这一点。
      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 2014-01-27
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 2019-12-28
      • 1970-01-01
      相关资源
      最近更新 更多