gpt4 book ai didi

android - 从 Activity 的 OnCreate 启动的 AsyncTask,仅当当前未运行此类 AsyncTask 时。我该如何实现?

转载 作者:搜寻专家 更新时间:2023-11-01 09:05:27 24 4
gpt4 key购买 nike

在打开一个新屏幕( Activity )时,我希望我的程序启动一个新的异步任务,它将永远每隔 X 间隔运行一次。如果另一个已经在运行,我不想创建一个。

我已经尝试了很多关于全局变量、共享首选项标志等的事情。有没有一种方法可以扩展 AsyncTask 但将线程池更改为 1,这样就不会启动重复项?

或者对于这个问题是否有更明显的解决方案?

注意:首选项的问题是,如果设备重新启动,它可能会将标志保存为永久“true”,指示有正在运行的任务,而实际上没有,从而阻止新任务运行。

我这样做是不是很愚蠢??

最佳答案

在字段中存储Asynctask

task =  new NewAsyncTask().execute();

每次检查是否完成并重新分配给同一字段新的Asynctask

if(task.getStatus() == AsyncTask.Status.FINISHED)
task = new NewAsyncTask().execute();

关于android - 从 Activity 的 OnCreate 启动的 AsyncTask,仅当当前未运行此类 AsyncTask 时。我该如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com