當我從arduino(通過藍牙)收到特定的字符串時,我想要做的是在我的活動的特定區域觸發ontouch事件。我試圖用wii和arduino構建一個控制器,以用於我正在寫自己的遊戲中。你已經知道有一個函數* openButton.performClick();爲此,但在遊戲中,我並不總是使用按鈕,所以它不好。以編程方式觸發ontouch事件
我想模擬觸摸像adb那樣用猴子,但沒有root權限 像注入觸摸只是沒有根。
這部分代碼:
int[] loc = new int[2];
openButton.getLocationOnScreen(loc);// get the region where to simulate the //touch event
xTest = (float)loc[0];
yTest = (float)loc[1];
@SuppressLint("Recycle") void testing(){
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;
float x = xTest;
float y = yTest;
int metaState = 0;
MotionEvent motionEvent = MotionEvent.obtain(
downTime,
eventTime,
MotionEvent.ACTION_UP,
x,
y,
metaState
);
dispatchTouchEvent(motionEvent);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_UP:
// do something
openButton.performClick();
break;
case MotionEvent.ACTION_MOVE:
// do something
// how to trigger a ACTION_DOWN event here?
break;
}
return false;
}
所以德恩我得到一個特定的字符串我想在屏幕上的特定區域編程模擬toucht事件,這一次它的一個按鈕,但它可能是別的什麼這就是爲什麼「view.performclick()」不好。 我已經看到了一些例子,其中dispatchTouchEvent才放認爲,如果我這樣做我得到一個錯誤 感謝您在您的幫助