2

对于我的项目,我需要做以下事情,

  1. 从 adb getevent 命令获取设备触摸事件。
  2. 同时我需要找到一些收集应用程序活动调用信息的东西。

我的目标是找出每个触摸信息,如果特定应用程序中的活动发生变化,检测该活动。

因此,每当在 (x,y) 位置发生触摸时,getevent 都会报告说,现在如果该位置上有一个按钮,它可能会调用应用程序中的活动更改,因此我需要检测对新活动的更改。

如何做到这一点?任何想法?

4

1 回答 1

2

您可以在 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)  

捕捉点击/触摸事件。都在同一个脚本中。

于 2012-09-03T09:26:52.160 回答