对于我的项目,我需要做以下事情,
- 从 adb getevent 命令获取设备触摸事件。
- 同时我需要找到一些收集应用程序活动调用信息的东西。
我的目标是找出每个触摸信息,如果特定应用程序中的活动发生变化,检测该活动。
因此,每当在 (x,y) 位置发生触摸时,getevent 都会报告说,现在如果该位置上有一个按钮,它可能会调用应用程序中的活动更改,因此我需要检测对新活动的更改。
如何做到这一点?任何想法?
对于我的项目,我需要做以下事情,
我的目标是找出每个触摸信息,如果特定应用程序中的活动发生变化,检测该活动。
因此,每当在 (x,y) 位置发生触摸时,getevent 都会报告说,现在如果该位置上有一个按钮,它可能会调用应用程序中的活动更改,因此我需要检测对新活动的更改。
如何做到这一点?任何想法?
您可以在 python 脚本中尝试:
from subprocess import call
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection()
# These show the package name of the currently running package and
# the current activity's action.
device.getProperty('am.current.package')
device.getProperty('am.current.action')
使用 monkeyrunner,您还可以使用 (x,y) 坐标单击/按下按钮。
另一种方法是在 logcat 输出中查看活动更改。它应该如下所示: 显示 com.android.gallery3d/.app.MovieActivity 为什么从画廊播放视频文件。
后期编辑:
您可以使用 'am.current.package' 和 'am.current.action' 来查看活动的变化。您可以使用:
call('adb getevent', shell = True)
捕捉点击/触摸事件。都在同一个脚本中。