我正在开发一个应用程序,它包含社交共享选项。每当我点击 facebook 时,它都会在设备中打开带有共享视图的 facebook 应用程序。
在那之后,我想把我的应用程序带到前台。
我试过按后退按钮,
press_back_button()
这是不成功的。
有没有办法在 Calabash-android 中将应用程序带到前台?
我正在开发一个应用程序,它包含社交共享选项。每当我点击 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
您需要运行系统命令,例如 system("adb shell input keyevent KEYCODE_APP_SWITCH") 这将打开最近的活动。