首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Monkeyrunner活动

Monkeyrunner活动
EN

Stack Overflow用户
提问于 2012-09-06 20:06:23
回答 2查看 3.7K关注 0票数 4

我有一个问题,我已经通过monkeyrunner开始了两个活动。

我怎么才能关闭其中的一个?

我尝试使用device.stopActivity(package/activity),但是monkeyrunner没有这些命令。

还有,我想接收所有的工作活动,我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-07 16:41:33

据我所知,Android自己管理这些活动。但是有一种方法可以通过kill命令来停止这些活动。使用python脚本执行此操作:

首先,模拟home按钮的触摸:

代码语言:javascript
复制
device.press('KEYCODE_HOME', MonkeyDevice.DOWN_AND_UP)

然后使用ps命令列出打开的进程:

代码语言:javascript
复制
processes = str(device.shell('ps'))

然后查看进程变量,看看包是否还在那里。如果它在那里,找到包含包的行并检索它的PID。然后使用PID终止进程:

代码语言:javascript
复制
if package in processes:
    for line in processes.splitlines():
        if package in line:
            pid = line.split()[1]
device.shell('kill ' + pid)

稍后编辑:我发现了另一种关闭/停止包的方法:

代码语言:javascript
复制
device.shell('am force-stop package')

am force-stop命令只需要软件包名称作为参数。它会关闭相应的包。

票数 7
EN

Stack Overflow用户

发布于 2014-12-20 03:25:44

更好的选择是停止进程

代码语言:javascript
复制
device.press('KEYCODE_HOME', MonkeyDevice.DOWN_AND_UP)
kill_command = 'am force-stop %s' % package_name
device.shell(kill_command)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12299747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档