如何在Android或假电话中创建自动触摸事件

时间:2016-11-09 03:21:04

标签: android

我试图使用假触摸坐标x,y手动使用下面的代码进行虚假触摸。

public void update() {
        View view = new View(this);
        long downTime = SystemClock.uptimeMillis();
        long eventTime = SystemClock.uptimeMillis() + 100;
        float x = 0.0f;
        float y = 0.0f;
        int metaState = 0;
        MotionEvent motionEvent = MotionEvent.obtain( downTime, eventTime,
                MotionEvent.ACTION_DOWN,
                x,
                y,
                metaState
        );
       view.dispatchTouchEvent(motionEvent);

    }
 @Override

    public boolean onTouchEvent(MotionEvent e) {


        Log.e("S","pressed");

        return true;
    }

}

布局代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />



</RelativeLayout>

我创建了一个动作事件并将其发送到view.dispatchTouchEvent(motionEvent)。为什么onTouchEvent()没有调用。

这不是打假电话的正确方法吗? 我看到了一些文件,其中setOnTouchListener(调用了新的View.OnTouchListener()。

我不需要执行ontouchlistener。我只需要执行onTouchEvent方法。 那么我的方式是正确的还是有任何方式以编程方式调用onTouchEvent()。

0 个答案:

没有答案