作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个需要直接从启动器启动应用程序的测试。因为我无法通过 Intent 启动来正确模拟它。
问题是,当我在新的模拟器上运行测试时(我使用的是 Travis CI,但它可以很容易地在我的家用 PC 上重现),模拟器以“首次运行”欢迎界面开始。这会阻止我的 uiautomator 代码正确启动应用程序。
我试图添加一些代码来关闭该欢迎程序,但不幸的是,当我的“欢迎程序检测和关闭”代码已经停止工作时,它可能会出现一些延迟,认为海岸是畅通的。
是否有任何可靠的方法来禁用该欢迎程序?某些偏好可能或只是一个可以可靠地杀死欢迎程序的代码示例。
最佳答案
您是否尝试过使用 PackageManager.getLaunchIntentForPackage(..) ?这将允许您发送启动器用于启动您的应用程序的相同 Intent。它应该等同于单击应用程序的启动器图标。
如果你确实需要通过启动器,你可以使用 UiWatcher关闭首次运行覆盖。每当 UiAutomator 找不到元素时,它会调用 checkForCondition(..)每个已注册的 UiWatcher 的方法,并让您有机会消除任何妨碍的覆盖或对话框。
关于android - 在新的 android 模拟器上禁用首次运行的欢迎程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30824832/
我是一名优秀的程序员,十分优秀!