首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Espresso不应该等待异步任务完成。多么?

Espresso不应该等待异步任务完成。多么?
EN

Stack Overflow用户
提问于 2016-11-22 14:37:00
回答 1查看 973关注 0票数 1

我有一个安卓应用程序,Activity在点击时启动线程。我需要这个线程运行一段时间(2-3分钟),但我也可以在这段时间内导航到其他片段和活动。

手动应用程序没有任何问题。但我做的是浓缩咖啡自动化测试。我正在尝试执行线程启动的过程(不会很快死亡),但我使用espresso的模拟单击导航到其他活动。我总是会收到这样的错误:浓缩咖啡正在等待,而ASYNC_TASK并不是空闲的。

,我需要浓缩咖啡,看看这个,然后导航到其他屏幕。有办法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-11-22 21:44:51

您可以使用IntentService,在其中您可以做您想做的任何繁重的工作,并且所有的东西都在后台,不只是让UI线程自由,而且您还可以在活动之间移动,只要您愿意。

这是一个示例代码,一个完整的例子也是可以接受的。

代码语言:javascript
复制
public class HeavyJobExecutor extends IntentService {


    public HeavyJobExecutor() {
        super("WhateverNameYouWant");
    }

    @Override
    protected void onHandleIntent(Intent intent) {
        for (int i = 0 ;i < 100; i ++) {
            try {
                new URL("http://stackoverflow.com").openConnection();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

您可能还需要阅读有关BroadcastReceiver的内容,因为您可以使用它们来检查意图服务的状态。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40744643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档