java - 如何知道异步任务何时完成

标签 java android

public class Calculate extends AsyncTask<Void, Integer, Integer> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Integer doInBackground(Void... arg0) {
        int a = 1;
                int b = 2

        return a+b;
    }

    @Override
    protected void onPostExecute(Integer result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);

    }

}

我的应用程序使用 asynctask 类(如下),以及调用此类的函数, 我的问题是如何知道这门课何时结束?每次我检查时,它总是在运行!

最佳答案

在您的 onPostExecute(...) 方法中,您可以简单地调用调用者 Activity 中的一个方法,该方法将设置一个 boolean 值 termerated_activitytrue。您可以通过多种方式来完成此操作,最简单的方法可能是 IntentsHandler 组合,或本地 BroadcastReceiver

  • 有关 HandlerIntent 的示例位于我今天在其他问题 here 中发布的答案中。 .
  • 对本地 BroadcastReceiver 的一个很好的解释是 here .

关于java - 如何知道异步任务何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649037/

相关文章:

android - 在后台以编程方式发送 WhatsApp 消息,无需打开 WhatsApp 应用程序

Android map - 使用布局作为叠加项

java - 这个平台滚动代码到底做了什么?

java - 当存在来自父类(super class)的依赖注入(inject)时,如何设置测试?

Java-执行程序服务在类级别字段关闭

android - MultiAutoCompleteTextView 在 AlertDialog 构建器中保持为空

android - android Listview中如何获取选中的List项的值

java - 加密不适用于从 openssl 生成的 AES-256 key

java - 同步适配器中的 ContentResolver.requestSync 在 Android 中不起作用

android - 约束布局中的按钮未拉伸(stretch)到父级