常用adb shell命令:getevent和sendeven

81 篇文章 1 订阅

1.getevent 
输出所有event设备的基本信息 

è¿éåå¾çæè¿°
输出格式: 
设备名: 事件type 事件code 事件value 
 è¿éåå¾çæè¿°
注意:这里的数字都是16进制。

使用 getevent -l 命令后输出结果格式为: 

getevent -c 10 //输出10条信息后退出
getevent -l  //将type、code、value以对应的常量名称显示

对应的数字代码转换为容易理解的字符串了,这些常量定义都在input.h文件中。 

2.sendevent 
发送事件命令,模拟事件操作。 
该命令格式如下: 

è¿éåå¾çæè¿°
注意:和getevent命令输出的结果不一样,这里的type,code,value都是10进制的。

看这张图 
 è¿éåå¾çæè¿°
这是在联想A390t上点击音量减按键的时候,getevent的输出。很容易理解,分为四步:按下音量减->发送同步报告->抬起音量减->发送同步报告。只有发送了同步报告以后事件才能生效。 
转化成16进制输出: 

è¿éåå¾çæè¿°
将其中的16进制数转化成10进制数(0x72->114),使用sendevent命令模拟按下音量减键的效果试试。 
依次输入如下命令:

sendevent /dev/input/event0 0001 0114 00000001
sendevent /dev/input/event0 0000 0000 00000000
sendevent /dev/input/event0 0001 0114 00000000
sendevent /dev/input/event0 0000 0000 00000000

可以发现,在输入了前两天命令之后出现了音量调节窗口,如果不输入后两条命令,音量调节窗口是不会消失的。 

最后强调一下: 
(1)getevent输出的是16进制,sendevent使用的是10进制,注意转换。 
(2)getevent命令的输出结果因设备不同而不同,但都是相似的。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值