我正在使用IntentService执行后台任务,例如从远程服务器更新数据。
在某些情况下,同一个请求可以由用户多次排队,但我只想执行一次(连续两次从服务器更新数据没有意义)。
使用IntentService有一种简单的方法吗?或者我应该使用标准服务?
答案 0 :(得分:1)
使用IntentService
是否有一种简单的方法可以做到这一点
不幸的是,没有。 Handler
使用的IntentService
队列在SDK中不可见,并且没有公共方法可以让您检查其内容。
我应该使用标准服务吗?
可能。您可以尝试保留自己的工作队列并行副本,标记重复项并忽略它们onHandleIntent()
,但确保始终与实际内部队列同步可能会变得很糟糕。