Android:每个 session 运行一次 asynctask

标签 android android-asynctask android-activity

好吧,我已经研究这个问题一段时间了,但还没有找到好的答案。我有一个异步任务,可以通过网络服务检查我的数据库是否有更新。我只想在我的应用程序上的每个用户 session 中检查一次(现在每次我返回主屏幕时它都会检查)。因此,如果我关闭应用程序并且进程停止并且他们再次打开它,它将再次检查网络服务。

我已经阅读过有关使用共享首选项的信息,但我只能在第一次运行该应用程序时想到这样做。

我考虑过在我的共享首选项中保存一个时间戳,然后检查自上次时间戳以来是否已经过去了 30 分钟以上。但这对于我的需要来说似乎很复杂。

有什么想法吗?

最佳答案

共享偏好实际上非常简单。您可以将变量设置为共享首选项。例如“0”当您启动异步时,该值将更改为“1”。所以异步永远不会运行。退出后,将共享首选项设置回“0”。下次用户启动程序时,asyncTask 将运行并再次将值设置回“1”。这样当您返回主屏幕时,asyn 将不会运行。这是您要找的吗?

关于Android:每个 session 运行一次 asynctask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116722/

相关文章:

Android Studio 中的 Android View 显示 "nothing to show",也无法再运行应用程序

android - 下载多个文件 : DownloadManager or AsyncTasks

android - 如果 Activity 刚刚停止,是否有办法将 Activity 移回前台?

java - 变量需要声明为final

android - 正确使用上下文

java - ViewPager.setAdapter 需要 200 毫秒到 300 毫秒才能执行

java - 工具栏的标题应该根据 Activity 而变化吗?

android - 尽管有 configChanges 设置,onDestroy 在轮换时被调用

android - 适用于 Unity 的 Firebase SDK 使用动态链接使应用程序崩溃

java - 为什么一个执行两次而不是两个不同的 AsyncTasks?