好吧,我已经研究这个问题一段时间了,但还没有找到好的答案。我有一个异步任务,可以通过网络服务检查我的数据库是否有更新。我只想在我的应用程序上的每个用户 session 中检查一次(现在每次我返回主屏幕时它都会检查)。因此,如果我关闭应用程序并且进程停止并且他们再次打开它,它将再次检查网络服务。
我已经阅读过有关使用共享首选项的信息,但我只能在第一次运行该应用程序时想到这样做。
我考虑过在我的共享首选项中保存一个时间戳,然后检查自上次时间戳以来是否已经过去了 30 分钟以上。但这对于我的需要来说似乎很复杂。
有什么想法吗?
最佳答案
共享偏好实际上非常简单。您可以将变量设置为共享首选项。例如“0”当您启动异步时,该值将更改为“1”。所以异步永远不会运行。退出后,将共享首选项设置回“0”。下次用户启动程序时,asyncTask 将运行并再次将值设置回“1”。这样当您返回主屏幕时,asyn 将不会运行。这是您要找的吗?
关于Android:每个 session 运行一次 asynctask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116722/