android怎么实现按键脚本
发布网友
发布时间:2022-04-26 09:59
我来回答
共1个回答
热心网友
时间:2022-06-27 02:39
程序经常需要调试,需要程序自动按键,或者某些繁琐操作,比如游戏外挂,需要按键精灵来完成。
android 提供给开发者发送模拟按键的类Instrumentation:
public classInstrumentationextends Object
java.lang.Object
↳ android.app.Instrumentation
Known Direct SubclassesInstrumentationTestRunner
可以模拟发送很多事件(这些方法写在thread类里,所以部分带有thread的sleep方法):
发送back事件:
private void back()
{
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
}
复制代码
发送enter事件:(在keyevent中有很多按键码,该方法可以发送任何按键的事件)
private void enter() throws InterruptedException
复制代码
{
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_NUMPAD_ENTER);
sleep(500);
}
复制代码
根据坐标点发送点击事件:
private void click(int x ,int y) throws InterruptedException
{
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
<span style="white-space:pre"> </span>SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0));
sleep(500);
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0));
}
复制代码
根据坐标发送长按事件:
private void longClick(int x, int y) throws InterruptedException{
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0));
sleep(2000);
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0));
}
复制代码
发送向下事件:
private void move() throws InterruptedException
{
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
sleep(500);
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);
sleep(500);
}
市面上有一款android的按键精灵,他是基于什么原理实现的实现
触动精灵的脚本编写基于Lua 脚本语言,支持其所有标准函数库。除了能够模拟点击、移动、单击 Home键之外,触动精灵还提供一系列取色、找色、截图、找图等函数,更有丰富的网络插件、文件操作插件可供选择,脚本作者可以选择不公开源代码发布自己的脚本。通过制作脚本,可以让触动精灵代替双手,自动执行一系列触...
安卓手机按键精灵连续点击脚本
打开【按键精灵】,再打开的主界面左侧找到【快速向导】,并且单击它 安卓是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购...
android怎么模拟点击而不受控制
getevent/sendevent getevent&sendevent 是Android系统下的一个工具,可以模拟多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。getevent用于获取当前系统input设备的一些参数和实时事件的数据;sendevent用于发送input事件,这俩命令的作用就是相当于解放了手,可以通过命令...
实体按键不行了。如何让安卓手机(Android 4.2.1)显示虚拟按键?已经ROOT...
1.手机必须先ROOT,然后安装RE管理器。2.打开RE管理器,然后在ROOT目录下找到system文件夹下的build.prop文件。查看大图 3.长按build.prop文件并在弹出的选项中选择open in text editor选项,中文版是在文本编辑器中打开。4.这时候我们会看到一堆代码,不用管他。直接拉到最后一行,输入qemu.hw.maink...
【Android开发】如何 使得 android长按按钮=多次按下按钮
项目遇到需要实现按键点击同时,如果按住也能实现连续音量加的效果 本办法是通过按下标志开启线程固定间隔时间发送动作 重写setOnTouchListener事件 btn_bolumeup.setOnTouchListener(new OnTouchListener(){ Override public boolean onTouch(View v, MotionEvent event) { Log.d("yj.chen","onT...
android如何获得所按下按键编号
在Activity中重写onKeyDown方法即可,当按钮按下时会回调onKeyDown方法。1. 以下是java代码:Override public boolean onKeyDown(int keyCode, KeyEvent event) { return super.onKeyDown(keyCode, event);} 2. onKeyDown方法中传递了两个参数 keyCode及event,其中 keyCode就是按钮的编号。3. int ...
android怎么实现后台对按键事件的监控
为了实现键盘的监控,从新开发一个输入法是不现实的,一般的操作就是在系统的输入法机制中添加接口回调。我们知道,再应用程序中拿到按键的回调一般是监听onKeyDown的接口,如下所示:public boolean onKeyDown(int keyCode, KeyEvent event)开发者就可以根据回调方法中的参数, keyCode与KeyEvent来判断具体...
android 开发 如何获取全局按键记录
通过键盘监听来实现:Activity中重写这个方法:public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //记住这个按键 } }然后就通过keyCode来判断按下的是哪个键。这样做应该是可以的。
android 开发中 就像是按住一个按键后,在ACTION_UP之前不断响应ACTION...
如果你是想在没弹起来之段时间做某些事,你可以在按下后,设置一个标志位,在弹起来的时候清空标志位,开个线程去做你想做的事,在纯程中判断这个标志位来判断是否退出线程。
appium-按键操作(AndroidKey)+输入法
应用的搜索功能,搜索键在软键盘上的。使用Enter键来代替搜索键。 Enter键 : keyevent:66 Back键:4 Home键:3 按键操作: driver.press_keycode(AndroidKey.ENTER)启动参数当中关于输入法: unicodeKeyboard=True 输入法的操作(输入中文时): 1、获取当前设备可用的输入法: ...