0

アクセシビリティサービスの助けを借りて、どのURLがChromeカスタムタブに読み込まれているかを検出できます。今度は、バックボタンのIDを探して、URLがある場合はタブを閉じることができますブロックリストにある場合は、クリックアクションのコードは次のようになります。クロムカスタムタブのブロック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がある場合、クロムブラウザのタブを閉じる – Vij

+0

はい、しかしクロームのカスタムタブではなく、ブラウザ – Mayur

答えて

0

コードに関するすべてが合理的に正確です。 findAccessibilityNodeInfosByViewId関数の問題は、すべてのビューにviewIdがあるわけではありません。これを達成するには、ビュー階層を介して独自のクロールを実行し、ビューID以外のプロパティーを探す必要があります。

ビューIDを確認するには、Androidデバイスモニタ階層ダンプを使用してアクセスし、その他のプロパティを理解して他のものがわかるようにする必要があります一貫性があり、IDに頼らない。

enter image description here

は、ここでは、Androidデバイスモニターからの典型的なスクリーンダンプを参照してください。表示されているように、強調表示されたビューのビューIDには、以下の情報が表示されます。複数のビューでこのIDを共有できることにも注意してください。一意のIDではなく、ViewIdResourceNameです。

+0

これは私が探していたものです、ありがとう!! – Mayur

関連する問題