Когда я переключаюсь от одного действия к другому в моем приложении, я получаю AccessibilityEvent
, я вызываю метод getSource()
, но когда View
приходит к моему сервису, он запечатан, и я не могу инициировать нажатие кнопки на этом экране, так как все объекты этого вида запечатаны, но как мне затем инициировать нажатие кнопки в AccessibilityService
?
Я пытался сделать это так
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if(event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED){
for(AccessibilityNodeInfo cancelButtons : getRootInActiveWindow().findAccessibilityNodeInfosByText("Cancel")){
cancelButtons.performAction(AccessibilityNodeInfo.ACTION_CLICK);
break;
}
}
}
Но я ловлю исключение java.lang.IllegalStateException Cannot perform this action on a not sealed instance.
Как исправить мой код?