我有一个应用需要在启动时执行密集的数据库操作。该应用保存手机上联系人的本地副本,并在启动时与 android 联系人数据库同步。
如果用户启动应用程序,则会启动一个在后台执行数据库同步的异步任务。如果用户关闭应用程序,操作会继续运行,这很好。但是,如果用户再次打开应用程序,则会启动异步任务并产生错误。
是否有办法检查任务是否已经从应用程序的不同实例运行?
最佳答案
使用 getStatus()
获取 AsyncTask
的状态。如果状态为 AsyncTask.Status.RUNNING
那么你的任务正在运行。
编辑: 您应该重新考虑您的实现并将 AsyncTask
可能在 Service
或 IntentService
中以获取来自网络的数据。
关于android - 如何检查异步任务是否已在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236899/