我正在处理一个应用程序,它包含社交共享选项。每当我点击Facebook时,它都会在具有共享视图的设备中打开Facebook应用程序。
之后,我想把我的应用程序带到前台。
我尝试按下后退按钮,
press_back_button()
不成功。
有没有办法在Calabash-android中将应用程序带到前台?
答案 0 :(得分:2)
您应该可以通过ADB发送按键和屏幕触摸来完成此操作
adb shell input keyevent KEYCODE_APP_SWITCH
打开最近的应用菜单
adb shell input tap 300 300
会在屏幕上发送点击事件,但您必须使用坐标来将它们放在正确的位置。
编辑: 我刚刚使用以下命令在手机上试了一下,可以重新打开最新的应用程序
adb shell input keyevent KEYCODE_APP_SWITCH
adb shell input tap 300 1700
在ruby代码上尝试这些命令之前,看看它们是否可以从终端(而不是irb)工作。
第二个命令使用x和y坐标,这些坐标会根据手机屏幕的大小而有所不同,300 1700适合我,但你需要尝试一些不同的数字才能让它适合你。
要打开我认为您需要的第二个最新应用,我必须运行adb shell input tap 300 700
。你需要玩弄它,看看它对你有用。
最终编辑:我发现了一种更好的方法,不依赖于屏幕分辨率。
adb shell input keyevent KEYCODE_APP_SWITCH
然后找到你的应用程序(你可能需要多次发送它才能使它运行)
adb shell input keyevent KEYCODE_DPAD_UP
和/或
adb shell input keyevent KEYCODE_DPAD_DOWN
然后选择
adb shell input keyevent KEYCODE_ENTER
答案 1 :(得分:1)
您需要运行系统命令,例如 system(“adb shell input keyevent KEYCODE_APP_SWITCH”) 这将打开最近的活动。