Android Java - Получить текст из элемента с помощью службы доступности - PullRequest
0 голосов
/ 07 августа 2020

Мне нужно использовать службу специальных возможностей, чтобы узнать, какой текст присутствует в элементе, когда он появляется. Элемент, на который я нацелен, - это запрос драйвера uber, в настоящее время я могу запустить код при появлении запроса, указав его идентификатор элемента в api служб доступности.

Я определяю наличие запроса с помощью этого кода:

AccessibilityNodeInfo nodeInfo = accessibilityEvent.getSource();
    List<AccessibilityNodeInfo> objectList = info.findAccessibilityNodeInfosByViewId("com.ubercab.driver:id/basic_info_left_label_container");
        if (objectList.size() > 0) {
              // Object is present. We now need to get text on that object
        }

Ссылка на образец изображения запроса uber

На изображении выше мне нужно извлечь 3 строки. Они должны иметь следующий вид:

  1. «UberXL»
  2. «4 мин»
  3. «4.83»

Эти строки позволят мне писать код и принимать решения от имени пользователя.

Я искал решение своей проблемы в течение 3 дней, и мне не повезло, я не управляю приложением, которое пытаюсь использовать службы доступности включены, поэтому, насколько мне известно, я на правильном пути.

Я попытался использовать метод .getText () NodeInfo, но он не возвращает ничего ценного.

Как мне извлечь текст из этих запросов?

...