Служба специальных возможностей, клик по пользовательскому представлению не работает (executeClick не переопределяется) - PullRequest
0 голосов
/ 25 октября 2018

Как выбрать пользовательское представление (переключатель в стиле iOS) из Accessibility Service, в котором метод onTouchEvent переопределен, но executeClick нет.Я создал метод для отладки в сервисе, щелкнув по представлению отображения всех событий в журнале.Когда я нажимаю на все кнопки, кроме этого пользовательского представления отображается в журналах.Он абсолютно не отвечает, если вы находите представление по идентификатору и вызываете executeAction (CLICK) из AccessibilityService.Я знаю, что можно использовать dispatchGesture и эмулировать пролистывание, но он работает только с Android 7.0 (api 24).Есть ли обходные пути для таких случаев?Заранее спасибо за любые подсказки.Config for Accessibility Service:

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeWindowStateChanged|typeWindowContentChanged"
android:accessibilityFlags="flagDefault|flagIncludeNotImportantViews|flagReportViewIds|flagRequestTouchExplorationMode"
android:canRetrieveWindowContent="true"
android:notificationTimeout="100"
android:canRequestTouchExplorationMode="true"
android:canPerformGestures="true"
android:settingsActivity="com.example.helper.MainActivity"/>

1 Ответ

0 голосов
/ 30 октября 2018

К сожалению, я не верю, что есть обходной путь.Услуги специальных возможностей зависят от приложений, предоставляющих информацию об отображаемых ими интерфейсах.Если приложения не предоставляют такие действия, на самом деле вы мало что можете сделать, чтобы восстановить информацию.

Даже с помощью API диспетчеризации жестов вы точно не знаете, какие представления являются действующими.

...