0

我能夠通過輔助功能服務檢測到Chrome自定義標籤中正在加載哪個網址,現在我想查找後退按鈕的ID,以便我可以關閉標籤是在阻止列表中,以下是點擊操作的代碼:Crome自定義標籤中的Block Url android

List<AccessibilityNodeInfo> list = nodeInfo. 
findAccessibilityNodeInfosByViewId("com.android.chrome:"id for back button""); 
     for (AccessibilityNodeInfo node : list) { 
      Log.i(TAG, "ACC::onAccessibilityEvent: back_button " + node); 
      node.performAction(AccessibilityNodeInfo.ACTION_CLICK); 
     } 
+0

所以,你想關閉鉻瀏覽器的選項卡,如果URL在blocklist? – Vij

+0

是的,但克羅姆自定義選項卡,而不是瀏覽器 – Mayur

回答

0

有關您的代碼的所有內容都相當準確。 findAccessibilityNodeInfosByViewId函數的問題並不是所有視圖都有viewId。您必須通過視圖層次結構進行自己的爬網才能完成此操作,並查找視圖ID以外的屬性。

如果你想查看viewID是什麼,你應該使用Android Device Monitor Hierarchy Dump來訪問它,並幫助理解你可能會看到的其他屬性,以查看還有哪些可以找到的可能更多一致並且不依賴於ID。

enter image description here

在這裏,我們看到的Android設備監視器的屏幕的轉儲。正如你所看到的那樣,高亮視圖的視圖ID顯示在下面的信息中,如果它有一個。還請注意,多個視圖可以共享此ID!它是ViewIdResourceName,不是唯一的ID。

+0

這正是我正在尋找,謝謝! – Mayur