最近参加某比赛写了一个Android手机控制Android电视的程序,其中需要控制电视端模拟“鼠标”点击,和模拟按键盘的事件。

下面直接贴上程序:

// 模拟屏幕点击事件                 public void setMouseClick(){    MotionEvent evenDownt = MotionEvent.obtain(System.currentTimeMillis(), System.currentTimeMillis() + 100, MotionEvent.ACTION_DOWN, imgMouse.getX(), imgMouse.getY(), 0);    dispatchTouchEvent(evenDownt);    MotionEvent eventUp = MotionEvent.obtain(System.currentTimeMillis(), System.currentTimeMillis() + 100, MotionEvent.ACTION_UP, imgMouse.getX(), imgMouse.getY(), 0);    dispatchTouchEvent(eventUp);    evenDownt.recycle();    eventUp.recycle();}

// 模拟键盘按键,Keycode对应Android键盘按键的的keycodepublic void setKeyPress(int keycode){        try         {             String keyCommand = "input keyevent " + keycode;             Runtime runtime = Runtime.getRuntime();             Process proc = runtime.exec(keyCommand);         }         catch (IOException e)         {             e.printStackTrace();         }    }