2016-12-28 41 views
6

在Android版Chrome瀏覽器中瀏覽時,如果它將URL識別爲與登錄詳細信息關聯的網址,則會彈出建議並提供建議。Lastpass如何知道Chrome中的當前網址

它如何知道Chrome瀏覽器正在查看哪個網址?我知道Lastpass使用Accessibility Services,但我不知道它是如何查詢來自Chrome的當前網址的。

PS。顯然它只適用於Chrome(它不會在Opera中彈出),因此它可能是Chrome特定的。

回答

3

Android上的LastPass要求獲得訪問權限,其中canRetrieveWindowContent爲true。這讓它遍歷當前視圖層次結構,並以AccessibilityNodeInfo對象的形式訪問視圖。

Accessibility API可讓您通過視圖上顯示的文本搜索節點,並且還爲您提供每個此類視圖的java類名稱。 AccessibilityNodeInfo#findAccessibilityNodeInfosByText

該功能在Opera上不起作用可能是因爲開發者從未處理過視圖層次遍歷邏輯。

退房https://developer.android.com/guide/topics/ui/accessibility/services.html

0

我一般使用javascript,除了Andoid的功能,並與一些黑客,就可以得到所有打開的窗口引用(和例如讓他們的URL)。見this answer from 2009

+0

這是一個關於另一個應用程序(如Lastpass)如何知道其他應用程序(例如Chrome)中的當前網址的問題。你不能這樣做使用JavaScript。 – marlar

相關問題