我正在开发一个应用程序,它包含社交共享选项。每当我点击 Facebook 时,它都会在设备中打开 Facebook 应用程序并具有共享 View 。
之后,我想将我的应用程序带到前台。
我尝试按后退按钮,
press_back_button()
没有成功。
有什么方法可以将Calabash-android中的应用程序带到前台吗?
最佳答案
您应该能够通过使用 ADB 发送按键和屏幕触摸来做到这一点
adb shell 输入 keyevent KEYCODE_APP_SWITCH
打开最近使用的应用程序菜单
adb shell 输入点击 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
关于android - 如何在 calabash-android 中将应用程序带到前台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31672986/