Установить курсор на другое приложение

Рейтинг: 0Ответов: 1Опубликовано: 03.02.2023

Мне нужно из моего фонового андроид приложения установить курсор на текстовом поле другого приложения с помощью accessibility сервиса. Как я могу это сделать?

Ответы

▲ 1Принят

Чтобы установить курсор в текстовое поле другого приложения, вы можете использовать следующий пример кода:

AccessibilityNodeInfo targetNode = null;
AccessibilityNodeInfo rootNode = getRootInActiveWindow();

if (rootNode != null) {
  List<AccessibilityNodeInfo> nodeList = rootNode.findAccessibilityNodeInfosByViewId("package_name:id/edit_text_id");

  if (nodeList != null && !nodeList.isEmpty()) {
    targetNode = nodeList.get(0);
  }
}

if (targetNode != null) {
  targetNode.performAction(AccessibilityNodeInfo.ACTION_FOCUS);
}

Где package_name – это пакетное имя приложения, в котором находится текстовое поле, id/edit_text_id – это ID текстового поля.

Обратите внимание, что для использования Accessibility API ваше приложение должно иметь разрешение android.permission.BIND_ACCESSIBILITY_SERVICE. Также необходимо убедиться, что другое приложение включено в список доступных сервисов доступности в настройках устройства.