直播平臺軟體開發,Android程式碼模擬觸控、點選及滑動等事件

zhibo系統開發發表於2023-04-12

直播平臺軟體開發,Android程式碼模擬觸控、點選及滑動等事件

一、應用中模擬物理和螢幕點選事件


例如,模擬對某個view的點選事件

private void simulateClick(View view, float x, float y) {
    long downTime = SystemClock.uptimeMillis();
    final MotionEvent downEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_DOWN, x, y, 0);
    downTime += 1000;
    final MotionEvent upEvent = MotionEvent.obtain(downTime, downTime,MotionEvent.ACTION_UP, x, y, 0);
    view.onTouchEvent(downEvent);
    view.onTouchEvent(upEvent);
    downEvent.recycle();
    upEvent.recycle();
}
 
public void setMouseClick(int x, int y){  
    MotionEvent evenDownt = MotionEvent.obtain(System.currentTimeMillis(),  
            System.currentTimeMillis() + 100, MotionEvent.ACTION_DOWN, x, y, 0);  
    dispatchTouchEvent(evenDownt);  
    MotionEvent eventUp = MotionEvent.obtain(System.currentTimeMillis(),  
            System.currentTimeMillis() + 100, MotionEvent.ACTION_UP, x, y, 0);  
    dispatchTouchEvent(eventUp);  
    evenDownt.recycle();  
    eventUp.recycle();  
}


這實現原理就是模擬兩個MotionEvent (按下和提起) 然後用一個View 來處理這個Event 。


二、Instrumentation實現模擬鍵盤滑鼠事件

 
// 可以不用在 Activity 中增加任何處理,各 Activity 都可以響應  
Instrumentation inst = new Instrumentation();  
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(),   
    MotionEvent.ACTION_DOWN, 200, 500, 0));  
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(),   
    MotionEvent.ACTION_UP, 200, 500, 0));


 以上就是 直播平臺軟體開發,Android程式碼模擬觸控、點選及滑動等事件,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2945216/,如需轉載,請註明出處,否則將追究法律責任。

相關文章