Как выполнить несколько свайпов с помощью AccessibilityService

Я хочу выполнить несколько пролистываний при «Нажатии» с помощью 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());
                        }
                }
        }
   }

person arc    schedule 17.11.2018    source источник
comment
Извините, у меня недостаточно репутации, чтобы добавить комментарий, поэтому я предлагаю вам использовать несколько обработчиков для нескольких свайпов. И время в миллисекундах обработчика должно быть таким же, как продолжительность салфетки.   -  person yash khatri    schedule 22.09.2020


Ответы (1)


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());
                    }
            }
    }
}
person Bra    schedule 17.11.2018