2015-11-07 80 views
0

我做了什么我能够使用this post模拟触摸事件在一定间隔的Android

// Obtain MotionEvent object 
view.setOnTouchListener(new OnTouchListener() 
{ 
    public boolean onTouch(View v, MotionEvent event) 
    { 
     Toast toast = Toast.makeText(
      getApplicationContext(), 
      "View touched", 
      Toast.LENGTH_LONG 
     ); 
     toast.show(); 

     return true; 
    } 
}); 


// Obtain MotionEvent object 
long downTime = SystemClock.uptimeMillis(); 
long eventTime = SystemClock.uptimeMillis() + 100; 
float x = 0.0f; 
float y = 0.0f; 
// List of meta states found here: developer.android.com/reference/android/view/KeyEvent.html#getMetaState() 
int metaState = 0; 
MotionEvent motionEvent = MotionEvent.obtain(
    downTime, 
    eventTime, 
    MotionEvent.ACTION_UP, 
    x, 
    y, 
    metaState 
); 

// Dispatch touch event to view 
view.dispatchTouchEvent(motionEvent); 

什么,我试图做模拟触摸事件:

  1. 我哇nt以每5秒为间隔模拟触摸事件。
  2. 如何实现这个

回答

0
// Obtain MotionEvent object 
view.setOnTouchListener(new OnTouchListener() 
{ 
    public boolean onTouch(View v, MotionEvent event) 
    { 
     Toast toast = Toast.makeText(
      getApplicationContext(), 
      "View touched", 
      Toast.LENGTH_LONG 
     ); 
     toast.show(); 

     return true; 
    } 
}); 


// Obtain MotionEvent object 
long downTime = SystemClock.uptimeMillis(); 
long eventTime = SystemClock.uptimeMillis() + 100; 
float x = 0.0f; 
float y = 0.0f; 
// List of meta states found here: developer.android.com/reference/android/view/KeyEvent.html#getMetaState() 
int metaState = 0; 
MotionEvent motionEvent = MotionEvent.obtain(
    downTime, 
    eventTime, 
    MotionEvent.ACTION_UP, 
    x, 
    y, 
    metaState 
); 

// Dispatch touch event to view 
Timer timer = new Timer(); 
     new Timer().schedule(new TimerTask() { 
      @Override 
      public void run() { 
     runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      view.dispatchTouchEvent(motionEvent); 
     } 
     }); 


      } 
     },0,5000); 
+0

试过了,收到错误无法里面looper.prepare创建处理程序..... – Devrath

+0

尝试在UI线程。 Plz向我显示了整个错误信息。 –