.addStroke(GestureDescription.StrokeDescription(path, 100, 50))
参数介绍如下:
参数path:笔画路径
参数startTime:时间 (以毫秒为单位),从手势开始到开始笔划的时间,非负数
参数duration:笔划经过路径的持续时间(以毫秒为单位),非负数
/**
* 模拟点击事件
*
* @param x
* @param y
*/
private void Tap(int x, int y) {
Log.e("Tag","模拟点击事件");
GestureDescription.Builder builder = new GestureDescription.Builder();
Path p = new Path();
p.moveTo(x , y);
builder.addStroke(new GestureDescription.StrokeDescription(p, 0L, 500L));
GestureDescription gesture = builder.build();
dispatchGesture(gesture, new GestureResultCallback() {
@Override
public void onCompleted(GestureDescription gestureDescription) {
super.onCompleted(gestureDescription);
Log.e("Tag", "onCompleted: 完成..........");
}
@Override
public void onCancelled(GestureDescription gestureDescription) {
super.onCancelled(gestureDescription);
Log.e("Tag", "onCompleted: 取消..........");
}
}, null);
}
/**
* 模拟滑动事件
*
* @param x1
* @param y1
* @param x2
* @param y2
* @param startTime 0即可执行
* @param duration 滑动时长
* @return 执行是否成功
*/
private void Swipe(int x1, int y1,int x2 , int y2 ,final int startTime , final int duration) {
Log.e("Tag","模拟滑动事件");
GestureDescription.Builder builder = new GestureDescription.Builder();
Path p = new Path();
p.moveTo(x1 , y1);
p.lineTo(x2 , y2);
builder.addStroke(new GestureDescription.StrokeDescription(p, 0L, 500L));
GestureDescription gesture = builder.build();
dispatchGesture(gesture, new GestureResultCallback() {
@Override
public void onCompleted(GestureDescription gestureDescription) {
super.onCompleted(gestureDescription);
Log.e("Tag", "onCompleted: 完成..........");
}
@Override
public void onCancelled(GestureDescription gestureDescription) {
super.onCancelled(gestureDescription);
Log.e("Tag", "onCompleted: 取消..........");
}
}, null);
}
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask" //监听全部事件
android:accessibilityFeedbackType="feedbackGeneric"
android:canRetrieveWindowContent="true"
android:canPerformGestures="true" //申请手势权限
android:description="@string/accessibility_desc" //简介
android:notificationTimeout="1000" //通知时间
android:packageNames="com.oo.android.xxx.xxx" /> //包名