座標またはビュー要素で「クリック」(タッチ スクリーン) をシミュレートすることは可能ですか?
17853 次
4 に答える
5
Android 画面でタッチ イベントをシミュレートすることが可能です。ビューの座標がある場合は、adb シェル コマンドを使用してタッチ イベントを生成できます。例えば -
adbシェル入力タップxy
x と y は座標です。このコマンドはターミナルから実行できます。Android コードからコマンドを実行する場合は、「/system/bin/ input tap x y」を使用し、Runtime.getRuntime() メソッドを使用してこれを実行します。詳細については、返信してください。喜んでお手伝いします。:)
于 2017-11-29T12:20:34.160 に答える
2
azdevが示唆するように、これを試してください:
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);
于 2013-05-20T10:32:36.973 に答える
1
おそらく、クリックで呼び出したいものがあると思います。だから...それが実際のボタンなら、それを呼び出すことができますperformClick()
。ボタンでない場合は、期待する条件が満たされたときに、実行したいメソッドを呼び出すだけです。実際に何をしようとしているのかについて、もう少し詳しく説明していただけると助かります。
于 2013-05-20T10:28:21.823 に答える
0
ビューで、はい。座標では、Java Robot のように、私は気づいていません。
例えば:
Button buttonFoo = (Button)findViewById(R.id.button_foo);
buttonFoo.performClick();
于 2013-05-20T10:26:24.023 に答える