Como simular de forma confiável eventos de toque no Android sem raiz (como Automatizar e Tasker)?
Como simular de forma confiável eventos de toque no Android (sem root) do Java fora do meu aplicativo que é executado como um serviço em segundo plano?
Embora essa pergunta já tenha sido feita antes,a maioria das respostas utiliza ADB. (tal comoComo simular eventos de toque no dispositivo Android?)
https://github.com/chetbox/android-mouse-cursor oferece uma boa solução usando Acessibilidade, mas não é muito confiável, pois nem todas as visualizações respondem a ela, e os jogos não respondem a maior parte do tempo.
private void click() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo == null) return;
AccessibilityNodeInfo nearestNodeToMouse = findSmallestNodeAtPoint(nodeInfo, cursorLayout.x, cursorLayout.y + 50);
if (nearestNodeToMouse != null) {
logNodeHierachy(nearestNodeToMouse, 0);
nearestNodeToMouse.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}
nodeInfo.recycle();
}
Este é o código atual usado porhttps://github.com/chetbox/android-mouse-cursor.
Versão do Android é 8.0, estoque Android
Existe uma maneira melhor e mais confiável de simular esses eventos de toque do Java? Desde já, obrigado!