问题描述
我决定创建一个可以自动执行屏幕触摸的应用程序,并将在需要自动化的其他设备上使用它。
我听说“'AccessibilityService'''使我不得不使用Android.Graphics.Path
,GestureDescription
和AccessibilityService
。我找不到与AccessibilityService
交流的方式,所以我决定创建一个继承自AccessibilityService
的类,使我可以使用dispatchGesture
函数,但实际上并没有使用此功能时不起作用。
代码:
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,ClickDuration);
GestureDescription.Builder builder = new GestureDescription.Builder();
builder.Addstroke(clickstroke);
return builder.Build();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)