微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从活动中发送手势

如何解决如何从活动中发送手势

当我点击按钮时,我试图发送一个手势,但没有任何反应,为什么?

我将手势位置放在按钮的顶部,以检查它是否有效。

我启用了无障碍权限。

主类

public class MainActivity extends AppCompatActivity {

    MyService myService;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void click(View view) {
        if (myService == null)
            myService = new MyService();
        Log.w("ABC",String.valueOf(new Random().nextInt(1000)));
    }

}

MyService 类

public class MyService extends AccessibilityService {

    public MyService() {
        clickOnPosition(540,960);
    }

    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {

    }

    @Override
    public void onInterrupt() {

    }

    @Override
    protected void onServiceConnected() {
        super.onServiceConnected();
    }

    private void clickOnPosition(float x,float y) {
        Path path = new Path();
        path.moveto(x,y);
        GestureDescription.strokeDescription strokeDescription = new GestureDescription.strokeDescription(path,4000,1000);
        GestureDescription.Builder builder = new GestureDescription.Builder();
        builder.addstroke(strokeDescription);
        dispatchGesture(builder.build(),new GestureResultCallback() {
            @Override
            public void onCompleted(GestureDescription gestureDescription) {
                super.onCompleted(gestureDescription);
                Log.w("ABC","Completed");
            }

            @Override
            public void onCancelled(GestureDescription gestureDescription) {
                super.onCancelled(gestureDescription);
                Log.w("ABC","Canceled");
            }
        },null);
    }

}

注意:如果我移动了 clickOnPosition(540,960),它会起作用;到 onServiceConnected()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。