Android(安卓)利用adb命令 使App自动点击屏幕指定位置
16lz
2021-12-04
public class AutoClickActivity extends AppCompatActivity implements View.OnClickListener { private AppCompatTextView mEtXPos, mEtYPos; private AppCompatButton mBtnStart; private float mXPos, mYPos; private boolean mIsRunning; // 制定adb命令的lei private ProcessBuilder mBuilder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_auto_click); mEtXPos = findViewById(R.id.mEtXPos); mEtYPos = findViewById(R.id.mEtYPos); mBtnStart = findViewById(R.id.mBtnStart); mBtnStart.setOnClickListener(this); Timer mTimer = new Timer(); mBuilder = new ProcessBuilder();// 周期执行点击(200ms) mTimer.schedule(new TimerTask() { @Override public void run() { if (mIsRunning) { String[] order = {"input", "tap", "" + mXPos, "" + mYPos}; try { mBuilder.command(order).start(); } catch (IOException e) { e.printStackTrace(); } } } }, 0, 200); } @Override// 监听触摸 public boolean onTouchEvent(MotionEvent event) { LogUtils.iTag("RedWolf", "onTouchEvent: ", event.getX(), event.getY()); switch (event.getAction()) {// 手指移动 获取手指所在XY坐标 塞入EditText 同时记录 case MotionEvent.ACTION_MOVE: mXPos = event.getX(); mYPos = event.getY(); mEtXPos.setText(String.format("%s", mXPos)); mEtYPos.setText(String.format("%s", mYPos)); break;// 手指按下 获取手指所在XY坐标 塞入EditText 同时记录 case MotionEvent.ACTION_DOWN: mXPos = event.getX(); mYPos = event.getY(); mEtXPos.setText(String.format("%s", mXPos)); mEtYPos.setText(String.format("%s", mYPos)); break; } return super.onTouchEvent(event); } @Override public void onClick(View v) { if (mIsRunning) { mBtnStart.setText("开始点击"); } else { mBtnStart.setText("结束点击"); } mIsRunning = !mIsRunning; }}
更多相关文章
- android APP响应H5页面的点击事件(JS交互)
- android 自定义组件随着手指自动画圆
- android 自定义TextView中Html超链接点击事件详解
- Android(安卓)ListView组件中android:drawSelectorOnTop含义
- 让EditText无法点击编辑和RatingBar无法点击
- Android点击2次返回按钮退出应用程序
- android TextView 实现自定义文字点击效果
- Android中的Button自定义点击效果
- Android(安卓)Button 点击时替换背景颜色和替换当前图标