Как выполнить многократное пролистывание с помощью AccessibilityService - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу выполнить несколько нажатий, когда нажата кнопка AccessibilityService.Я уже пробовал это, но он не выполняет многократное пролистывание.Буду признателен за любую оказанную помощь.Он работает, но зарегистрирован только один удар.

    public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent)
    {
        final int eventType= accessibilityEvent.getEventType();
        switch (eventType)
        {
            case 1:
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N)
                {

                        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

                        int middleYValue = displayMetrics.heightPixels / 2;
                        final int leftSideOfScreen = displayMetrics.widthPixels / 4;
                        final int rightSizeOfScreen = leftSideOfScreen * 3;
                        GestureDescription.Builder gestureBuilder = new GestureDescription.Builder();
                        Path path = new Path();

                        if (accessibilityEvent.getText() != null && accessibilityEvent.getText().toString().contains("1"))
                        {
                            path.moveTo(rightSizeOfScreen, middleYValue);
                            path.lineTo(leftSideOfScreen, middleYValue);
                        }
                        else
                        {
                            path.moveTo(leftSideOfScreen, middleYValue);
                            path.lineTo(rightSizeOfScreen, middleYValue);
                        }

                        gestureBuilder.addStroke(new GestureDescription.StrokeDescription(path, 100, 50));
                        gestureBuilder.addStroke(new GestureDescription.StrokeDescription(path, 100, 50));

                        for (int i=0;i<5;++i)
                        {
                            swipe(gestureBuilder.build());
                        }
                }
        }
   }

1 Ответ

0 голосов
/ 18 ноября 2018

http://jatimqq.winpublic

void onAccessibilityEvent(AccessibilityEvent accessibilityEvent)
{
    final int eventType= accessibilityEvent.getEventType();
    switch (eventType)
    {
        case 1:
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N)
            {

                    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

                    int middleYValue = displayMetrics.heightPixels / 2;
                    final int leftSideOfScreen = displayMetrics.widthPixels / 4;
                    final int rightSizeOfScreen = leftSideOfScreen * 3;
                    GestureDescription.Builder gestureBuilder = new GestureDescription.Builder();
                    Path path = new Path();

                    if (accessibilityEvent.getText() != null && accessibilityEvent.getText().toString().contains("1"))
                    {
                        path.moveTo(rightSizeOfScreen, middleYValue);
                        path.lineTo(leftSideOfScreen, middleYValue);
                    }
                    else
                    {
                        path.moveTo(leftSideOfScreen, middleYValue);
                        path.lineTo(rightSizeOfScreen, middleYValue);
                    }

                    gestureBuilder.addStroke(new GestureDescription.StrokeDescription(path, 100, 50));
                    gestureBuilder.addStroke(new GestureDescription.StrokeDescription(path, 100, 50));

                    for (int i=0;i<5;++i)
                    {
                        swipe(gestureBuilder.build());
                    }
            }
    }
}
...