android - 异步任务状态始终显示正在运行

标签 android android-asynctask

我想在完成第一个任务后执行一个异步任务。但是当打印第一个任务的状态时,它总是显示 RUNNING。如果并行执行两个任务,则只会执行较小的任务。我在 Activity oncreate 方法中同时运行。知道吗?

这是我的代码示例

public class test extends Activity 
 {

    ExecuteTask1 task1; 
    ExecuteTask2 task2; 
 @Override
public void onCreate(Bundle savedInstanceState)
     {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

            task1 = new ExecuteTask1();
            task1.execute(token);
            System.out.println(task1.getStatus());
            if(task1.getStatus() ==AsyncTask.Status.FINISHED)
            {
                task2 = new ExecuteTask2();
                task2.execute(token);
            }

     }
}

最佳答案

现在在您的代码中,您没有给 task1 时间来完成。从 task1 的 onPostExecute 方法启动 task2。 (您必须修改类 ExecuteTask1 中的代码才能使其工作。)

或者,让 task1 在 onPostExecute 中回调您的 Activity (或向其发送消息或其他内容),这样您的 Activity 就可以启动 task2。

关于android - 异步任务状态始终显示正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8337419/

相关文章:

Android AsyncTask 和 Thread 不同的行为

javascript - 如何在 javascript sessionstorage/HTML5 中动态创建数组

android - 为什么当我从 onResume Activity 调用 AsyncTask 时,我看不到进度对话框?

android-asynctask - asynctask #2 执行 doinbackground() 时发生错误

java - Android Webview 不适用于 Android 4.4

Android 应用程序中的 java.lang.OutOfMemoryError

android - 让 asynctask 加载位图时出现问题

c# - 如何将 MySQL 数据库中的数据绑定(bind)到 Xamarin ListView?

java - 无法解决改造 2.+ 的错误,但在 1.9.0 版中工作正常

android - 我应该混淆 Android 应用程序存储的 OAuth 消费者 secret 吗?