Невозможно использовать AccessibilityService и DispatchGesture

#java #android #android-studio #android-service

#java #Android #android-studio #android-сервис

Вопрос:

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

Я слышал о «AccessibilityService», что привело меня к использованию Android.Graphics.Path , GestureDescription и AccessibilityService . Я не смог найти способ, с помощью которого я мог бы общаться, AccessibilityService поэтому я решил создать класс, который наследуется от AccessibilityService , который привел меня к доступу к DispatchGesture функции, но на самом деле он не работает, когда я использую эту функцию.

Это мой код и мой файл AndroidManifest:

Код:

 public class DispatchGController : AccessibilityService
{

    public override void OnAccessibilityEvent(AccessibilityEvent e)
    {

    }

    public override void OnInterrupt()
    {
    }

    public override void OnCreate()
    {
        base.OnCreate();
        Core.WLDel("Service Created!");
    }

    protected override void OnServiceConnected()
    {
        base.OnServiceConnected();

        this.SetServiceInfo(new AccessibilityServiceInfo() { EventTypes = EventTypes.AllMask, FeedbackType = Android.AccessibilityServices.FeedbackFlags.Spoken, NotificationTimeout = 100 });
    }

    protected override bool OnGesture(int gestureId)
    {
        Core.WLDel(gestureId.ToString());
        return base.OnGesture(gestureId);
    }

    public DispatchGController()
    {
        var res = DispatchGesture(Core.TouchGestures.CreateClick(new Core.ACPointF(10, 200)), Core.MainCallback, null);
    }
}

        public class TouchGestures
    {
        const int ClickDuration = 1;
        public static GestureDescription CreateClick(ACPointF Point)
        {
            Path clickPath = new Path();
            clickPath.MoveTo(Point.X, Point.Y);
            GestureDescription.StrokeDescription clickStroke = new GestureDescription.StrokeDescription(clickPath, 0, ClickDuration);
            GestureDescription.Builder builder = new GestureDescription.Builder();
            builder.AddStroke(clickStroke);
            return builder.Build();
        }
    }
  

И это мой файл манифеста:
Манифест
Какие-либо рекомендации по этому поводу?