Я работаю над небольшим проектом для собственного использования, и мне нужна моя служба специальных возможностей, чтобы выполнить прикосновение к экрану и показать / скрыть элементы управления от видеоплееров, таких как Netflix или youtube.
Так что в my accessibilityService Я использую getRootInActiveWindow()
и получаю ссылку на окно приложения (например, com.netflix.mediaclient)
Затем я пересекаю все узлы и выполняю performAction(AccessibilityNodeInfo.ACTION_CLICK)
, но, похоже, ни один из узлов доступны для нажатия (когда скрыт элемент управления медиапроигрывателем, в противном случае я могу нажать кнопки управления), и я не могу сделать так, чтобы элемент управления медиаплеера показывался.
Есть идеи, почему это так? Кроме того, возможно ли выполнить касание экрана вообще, а не по заданному c AccessibilityNodeInfo?
ОБНОВЛЕНИЕ
Оказалось, что проблема заключалась в том, что ACTION_CLICK не работает как TOUCH, поэтому, если представление реагирует на события касания, но не на события щелчка, то ACTION_CLICK ничего не будет делать. К сожалению, похоже, что нет способа выполнить нажатие на объекты AccessibilityNodeInfo.