单击时的AccessibilityService〜AccessibilityNodeInfo:保持闪烁

时间:2018-11-14 16:01:01

标签: java android accessibilityservice

我使用点x和y单击android中的指针。 这是可行的,当它可以自动单击x和y的点时,它将不断闪烁事件单击的点,并显示许多单击指针的时间。

点击(((AccessibilityNodeInfo.ACTION_CLICK)):不断闪烁

public void clickAtPosition(int x, int y, final AccessibilityNodeInfo node) {

    if (node == null) return;

    if (node.getChildCount() == 0) {
        Rect buttonRect = new Rect();
        node.getBoundsInScreen(buttonRect);
        if (buttonRect.contains(x, y)) {
            if(!node.performAction(AccessibilityNodeInfo.ACTION_CLICK)){
                count_click_time++;

            }else if(node.performAction(AccessibilityNodeInfo.ACTION_CLICK)){
                Toast.makeText(getApplicationContext(),"count_click_time 0 = "+count_click_time,Toast.LENGTH_SHORT).show();
                count_click_time = 0;
            }


        }else {

        Rect buttonRect = new Rect();
        node.getBoundsInScreen(buttonRect);
        if (buttonRect.contains(x, y)) {

            if(!node.performAction(AccessibilityNodeInfo.ACTION_CLICK)){
                Toast.makeText(getApplicationContext(),"count_click_time 1  not click = "+count_click_time,Toast.LENGTH_SHORT).show();
                count_click_time++;

            }else if(node.performAction(AccessibilityNodeInfo.ACTION_CLICK)){

                mHandler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(getApplicationContext(),"count_click_time 1 clicked = "+count_click_time,Toast.LENGTH_SHORT).show();
                    }
                },10000);
                count_click_time = 0;

            }


        }

        for (int i = 0; i < node.getChildCount(); i++) {

                clickAtPosition(x, y, node.getChild(i));

        }

    }
}

0 个答案:

没有答案