Lastpass 如何知道 Chrome 中的当前 URL

How does Lastpass know the current URL in Chrome

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

它怎么知道 URL Chrome 在看哪个?我知道 Lastpass 使用 Accessibility Services,但我想知道它如何从 Chrome.

查询当前的 URL

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

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

辅助功能 API 允许您通过视图上显示的文本搜索节点,还为您提供每个此类视图的 java class 名称。 AccessibilityNodeInfo#findAccessibilityNodeInfosByText

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

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

我一般使用 javascript,除了 Android 功能外,通过一些黑客攻击,可以获得对所有打开的 windows 的引用(例如获取它们的 URL) .参见 this answer from 2009