Установить курсор на другое приложение
Мне нужно из моего фонового андроид приложения установить курсор на текстовом поле другого приложения с помощью accessibility сервиса. Как я могу это сделать?
Ответы (1 шт):
Автор решения: arnold
→ Ссылка
Чтобы установить курсор в текстовое поле другого приложения, вы можете использовать следующий пример кода:
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. Также необходимо убедиться, что другое приложение включено в список доступных сервисов доступности в настройках устройства.