将活动发送到后台后如何重新获得对活动的访问权限

2023-12-21

使用 Espresso,我尝试测试使用 Home 按钮将 Activity 发送到后台,然后再次将其放在前台进行一些检查:

@EspressoTest
public void test() {
    onSomeView().check(matches(isDisplayed()));
    getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_HOME);

    Context context = getInstrumentation().getTargetContext();
    Intent intent = new Intent(context, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent);

    onSomeView().check(matches(isDisplayed()));
}

我不得不使用intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这是由异常建议的,但除此之外我还测试了,将其作为启动器活动启动,或使用FLAG_ACTIVITY_REORDER_TO_FRONT,但视图不可见。尽管测试通过了。


Please consider this response as it works 100% when you want to goBackgroundByClickingHomeThenGetBackToTheApp.

UiDevice device = UiDevice.getInstance(getInstrumentation());
        device.pressHome();
        device.pressRecentApps();
        device.findObject(new UiSelector().text(getTargetContext().getString(getTargetContext().getApplicationInfo().labelRes)))
                .click();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将活动发送到后台后如何重新获得对活动的访问权限 的相关文章

随机推荐

  • 使用 Django 文件上传

    我正在使用ajax上传 http valums com ajax upload 代码执行简单的 AJAX 文件上传 我遇到的问题是提交后文件没有显示在后端 前端代码非常基本 div Upload More Images div
  • 如何将 geojson 文件的内容分配给 Javascript 中的变量?

    显示的代码已经可以工作 但我想清理它 它声明了一个名为placez其中包含 geojson 格式的信息 供代码的下一部分使用过滤器读取和加载到地图上 但实际上 要映射的点数量超过 50 000 个 此处示例仅显示 2 个 我想知道的是如何加
  • 如何使用 cut 为分隔符指定更多空格?

    有什么方法可以使用 cut 命令指定更多空格的字段分隔符吗 如 例如 在下面的字符串中 我想达到值 3744 我应该说什么字段分隔符 ps axu grep jboss jboss 2574 0 0 0 0 3744 1092 S Aug1
  • VSTS 代理从本地网络共享下载工件非常慢

    我正在运行一个带有两个代理的本地 TFS 实例 代理 1 有一个本地路径 用于存储我们的工件 代理 2 必须通过网络路径 agent1 artifacts 访问该路径 从代理 1 下载工件需要 20 30 秒 从代理 2 下载工件需要 4
  • 将字符串转换为数学计算[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 好吧 所以我想做的就是使用一个字符串作为输入 例如 16 12 25 将其转换为计算机可以理解的数学评估
  • Spring @Transactional 在 @Bean 声明上而不是类实现上

    我想从 Spring 配置 事务 bean Configuration类而不是注释类实现本身 Transactional 有点像老式的方式 从 XML 文件配置事务建议 但不需要对我的类 方法名称的字符串引用来创建切入点 原因是bean实现
  • 计算两个条件是否匹配 - EXCEL 公式

    我有这个表 我想创建一个公式 该公式将根据列中的真实条件对值进行计数A and column C 例子 如果在列中A值为 M 男性 在列中C是YES 那么就算了 谁能帮我用这个公式吗 在单元格前面添加工作表名称 例如 COUNTIFS st
  • PDO 查询返回大量 \uXXXX 字符代码,我无法将其转换为 unicode 字符

    我有一个 MySQL 数据库表 其中存储了不同语言的国家 地区名称 但无法以 unicode 字符显示数据 我只能在特殊字符应该显示的位置显示 uXXXX 代码 该查询在 AJAX 请求中使用 结果编码为 JSON 对象 这是表格 截断 C
  • 超级开发模式的多个源文件夹

    Problem 只要通过 src根据需要多次 src src src widgets 这些模块位于命令行的最后 并在所有源文件夹和类路径中查找 src src src widgets com my Project MyProject 请注意
  • 在 C++ 中创建列表的列表[重复]

    这个问题在这里已经有答案了 在 C 中 创建特定大小的列表 其中列表的每个元素都是 3 个元素的列表 的推荐方法是什么 Analogy 为了澄清这一点 Python 中我想要做的类比如下 最简单 n 10 ls 0 0 0 for i in
  • 在 C++ 中读取二进制文件而不将整个文件缓冲到内存中

    为了制作二进制比较器 我尝试使用 CreateFileW 函数读取两个文件的二进制内容 然而 这会导致整个文件被缓冲到内存中 这对于大文件 500MB 来说是一个问题 我已经四处寻找其他函数 这些函数可以让我只缓冲文件的一部分 但我没有找到
  • 如何修复 Visual Studio 中的 LNK1104 错误?

    首先 请允许我向您介绍一些背景知识 我正在尝试模仿我童年的游戏 在这方面已经做了很多工作模拟上述游戏 https github com VanaDev Vana 并且我通过 Windows 设置指南取得了一些不错的进展 可以找到here h
  • 有APL的开源实现吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我应该“始终”同步对多个线程使用的所有双字段/属性/变量的访问吗?

    注意我倾向于编写无锁代码 因此我会尽可能避免任何类型的锁 相反 我只是使用while true 循环 因为我有很多CPU能力 据那http msdn microsoft com en us library aa691278 28VS 71
  • 在 SQL Server 2014 Developer 中生成 20 亿行的有效方法

    长话短说 我正在测试一个通过网络连接从表中清除条目的系统 预计该功能最多可处理超过 20 亿个条目 我需要对此进行压力测试才能确定 这是我的测试脚本 最多可以在十分钟内生成 980 万个 DECLARE I INT 0 WHILE I lt
  • moment.js 24 小时格式

    如何以 24 小时格式而不是 12 小时格式显示时间 我正在使用 moment js 我很确定这些线条可能与此有关 meridiem function hours minutes isLower if hours gt 11 return
  • MASM 中的 _emit 相当于什么

    我正在尝试将 Visual Studio 中编写的一些内联汇编代码移植到 MASM64 中 原始代码使用 emit 这是一条伪指令 在当前文本段的当前位置定义一个字节 我如何在 x64 汇编 MASM 中执行相同的操作 你可以只使用db a
  • 如何在 MVC 应用程序中缓存数据

    我已经阅读了大量有关 MVC 应用程序中页面缓存和部分页面缓存的信息 但是 我想知道您如何缓存数据 在我的场景中 我将使用 LINQ to Entities 实体框架 在第一次调用 GetNames 或任何方法 时 我想从数据库中获取数据
  • SQL 伪随机文本生成器

    我正在对 SQL 存储过程进行一些性能测试 只想使用一个快速数据生成器进行测试 我正在寻找一种简单的方法来生成伪随机 在这种情况下不需要真正的随机 varchar 字段 到目前为止 我的想法是对可以使用的有效字符进行字符定义 然后根据该定义
  • 将活动发送到后台后如何重新获得对活动的访问权限

    使用 Espresso 我尝试测试使用 Home 按钮将 Activity 发送到后台 然后再次将其放在前台进行一些检查 EspressoTest public void test onSomeView check matches isDi