Установить курсор на другое приложение
Мне нужно из моего фонового андроид приложения установить курсор на текстовом поле другого приложения с помощью accessibility сервиса. Как я могу это сделать?
Источник: Stack Overflow на русском
Мне нужно из моего фонового андроид приложения установить курсор на текстовом поле другого приложения с помощью accessibility сервиса. Как я могу это сделать?
Чтобы установить курсор в текстовое поле другого приложения, вы можете использовать следующий пример кода:
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
. Также необходимо убедиться, что другое приложение включено в список доступных сервисов доступности в настройках устройства.