- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
知道为什么将 HOME 键发送到在 Instrumentation 下运行的应用程序没有任何作用吗?
import android.app.Instrumentation;
import android.view.KeyEvent;
public class MyInstrumentation extends Instrumentation {
public void sendKeys() {
// Works reliably
this.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);
// Does nothing, nothing is printed to logcat
this.sendKeyDownUpSync(KeyEvent.KEYCODE_HOME);
}
}
这在使用Robotium时是一样的以及使用 Instrumentation 时直接地。该行为在模拟器和非根设备上是相同的。
最佳答案
home 键在 instrumentation 中不起作用,即使它起作用也会让你处于一个不太有利的位置。 Android Instrumentation 只能检测它自己的进程,这意味着一旦它被发送出去,您将无法返回到您的应用程序,并且可能更糟糕的是它具有轻微的不确定性,因为如果 Android 感觉如此,它可以关闭您的进程这会导致您的测试结束。
虽然这对您没有多大用处,是吗?我怀疑您正在尝试测试与可以看到的 Activity 生命周期有关的事情 here .这可以通过仪器进行测试,但不能以您希望的简单方式进行测试。如果您查看检测类 (here) 的 API 文档,您会看到大量以 callActivityXXX(Activity activity) 形式存在的有用方法,其中 XXX 与您要执行的生命周期事件匹配。
使用这些方法比在主页重新启动要困难一些,我想您会喜欢,但它允许您将测试分解到较低级别,以确保您的应用程序在每个阶段都做正确的事情,这将使随着时间的推移它会变得更加健壮(比如测试它在 onPause 时保存其状态并在 onResume 时再次正确加载它)。
使用仪器进行测试的下一个最简单的方法取决于您是否使用模拟器,如果这只是要在模拟器上运行,您可以使用方向命令:
solo.setActivityOrientation(Solo.LANDSCAPE);
solo.setActivityOrientation(Solo.PORTRAINT);
这将导致您的 Activity 被销毁并恢复测试 Activity 生命周期的一些但不是所有状态。
关于Android Instrumentation 主页按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184160/
如果应用程序是通过企业签名分发的,那么是否有任何框架允许我在后台接收Home 或Power 按下事件? 最佳答案 iOS 中的所有事件都是 UIEvent,它是 GSEvent 的包装器。通过一些技巧
版本为 1.4.1.4 的 Prestashop 网站使用 category.php 文件作为类别页面。不幸的是,1.6.0.6 的更新删除了该文件,因为它已被视为已弃用。 ( URL structu
我最近在 Github 存储库中为我的公司创建了一个全局 wiki。这是一个空的存储库,我创建它只是为了使用它的 wiki。 我的问题:在这个 wiki 存储库的首页上,显示了自述文件。这个自述文件是
我有一个非常简单的体育网站,主页上有不同运动的链接,如足球、篮球、无挡板篮球等。我想要的是当用户点击 Football 时,要存储的值,以便下次访问者访问该页面时它将打开足球页面。 到目前为止,我已经
我已经实现了onOptionsItemSelected来控制主页按钮: override fun onOptionsItemSelected(item: MenuItem): Boolean {
我不知道如何为匿名用户隐藏主页选项卡,Plone 版本是 4.3.7。最好隐藏导航栏,我发现可以通过 ZMI Portal_actions/portal_tabs/index_html 来做到这一点,
我正在尝试通过修改注册表来更改 IE 主页。我已经使用 bat 文件成功完成了此操作; REG ADD "HKCU\SOFTWARE\MICROSOFT\INTERNET EXPLORER\MAIN"
我已经使用 Spring Roo 生成了一些页面,我需要在应用程序的主页上显示数据库中的一些项目。那么我如何将带有数据的模型传递到主页,Roo 添加了以下行,我已注释掉 我使用 Roo 创建
我有 HomeController 类: @Controller public class HomeController { @RequestMapping("/") public S
用户按下“主页”按钮时,我需要显示退出确认对话框。如果是,则需要退出该应用程序。 按下“主页”按钮时是否可以显示? 最佳答案 这可能会导致您的应用被拒绝 从Apple HIG: 总是准备停止 当人们按
我只是想知道是否有人在Magento中格式化面包屑有任何经验? 我想用图片替换当前显示文本“HOME”的链接。 我以为用图片替换某些文本是一种简单的情况,但是似乎“HOME”文本/链接是动态创建的,因
我制作了登录功能,因此当用户登录时,它将导航到其他页面,但问题是登录成功后,用户只需按物理后退按钮即可再次返回登录页面。现在我想要的是登录后用户无法再次返回登录页面,因此当按下物理后退按钮时,它将关闭
我有 2 个 Activity ,1 个用于注册,1 个用于我的应用程序主页。现在为了在它们之间做出选择,我必须创建另一个 Activity 来检查一些细节并决定去哪个 Activity 。问题是,在
public void onBackPressed() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCa
实际上我正在开发一个应用程序,这个应用程序应该在安装的设备上打开,这样我就可以阻止/禁用返回、主页、多任务的物理按钮。 我已经阅读了一些关于如何做到这一点的文章,但仍然不知道如何在我的应用程序中实现它
我在浏览器中输入以下 URL http://localhost:8081 并以连接错误告终。使用 catalina 脚本启动 tomcat 后,我得到一个空白页面。有人知道为什么会这样吗? 最佳答
我正在尝试在 Eclipse 中设置一个 spring mvc 项目。我创建了一个动态 Web 项目并创建了源和配置文件。当我在由 eclipse 启动的 tomcat 上运行该项目时,我总是遇到 4
我在Tomcat中部署了我的应用程序,应用程序路径是: http://localhost:8080/myapp 但我想限制我的用户看不到 Tomcat 主页,即如果他们输入: http://local
在创建一个 vue nativescript 应用程序并通过以下方式运行之后: tns preview 我得到: *** Terminating app due to uncaught excepti
与其说我是网页设计师,我更像是一个程序员,我正在尝试做一个简单的(我认为)设计,比如 gmail 的主页 https://mail.google.com/intl/fr/mail/help/about
我是一名优秀的程序员,十分优秀!