Lastpass如何知道Chrome中的当前网址

时间:2016-12-28 15:04:06

标签: android google-chrome lastpass

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

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

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

2 个答案:

答案 0 :(得分:3)

Android上的LastPass在canRetrieveWindowContent为true时要求获取辅助功能权限。这使它可以遍历当前视图层次结构,并以AccessibilityNodeInfo对象的形式访问视图。

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

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

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

答案 1 :(得分:0)

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