如何使用AccessibilityService执行多次滑动

问题描述 投票:0回答:1

我想在使用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());
                        }
                }
        }
   }
android accessibilityservice
1个回答
0
投票

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());
                    }
            }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.