我正在开发一个应用程序,它包含社交共享选项。每当我点击facebook时,它都会在设备中打开带有共享视图的facebook应用程序。
之后,我想把我的申请放在前台。
我试着按下后退按钮,
press_back_button()
它是不成功的。
有什么方法可以在Calabash android中将应用程序带到前台吗
您应该能够通过使用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
您需要运行系统命令,例如。系统("adb shell输入键事件KEYCODE_APP_SWITCH"(这将开启最近的活动。