我有一个AccessibilityEvent
可以自动停止应用程序。但是当启动应用程序信息意图时,它会进入打开/关闭警报对话框的无限循环。
我该如何预防?这是代码:
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if (AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED == event
.getEventType()) {
AccessibilityNodeInfo nodeInfo = event.getSource();
if (nodeInfo == null) {
return;
}
List<AccessibilityNodeInfo> list = nodeInfo
.findAccessibilityNodeInfosByViewId("com.android.settings:id/force_stop_button");
for (AccessibilityNodeInfo node : list) {
Log.i(TAG, "check1 = " + check);
node.performAction(AccessibilityNodeInfo.ACTION_CLICK);
check = true;
}
list = nodeInfo
.findAccessibilityNodeInfosByText("CANCEL");
for (AccessibilityNodeInfo node : list) {
node.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}
}
}
force_stop_button
顺便说一句,在应用信息意图开始后立即获得点击的任何想法?
编辑:我认为问题出在AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
. 如果我绕过该检查,它可以工作,但很难控制。