2012-04-02 28 views
1

我正在使用IntentService执行后台任务,例如从远程服务器更新数据。Android IntentService - 防止同一请求的多个实例

在某些情况下,同一个请求可以被用户多次排队,但我只想执行一次(从服务器连续两次更新数据没有意义)。

有没有一种简单的方法来使用IntentService来完成此操作,还是应该使用标准的Service?

回答

1

有一个简单的办法做到这一点使用IntentService

不幸的是,没有。无论如何,IntentService使用的Handler队列通过SDK不可见,并且没有公开的方法可让您检查其内容。

我应该只使用标准服务吗?

也许。您可以尝试保留自己的工作队列并行副本,在您的onHandleIntent()中标记重复项并忽略它们,但要确保始终与真正的内部队列同步,否则可能会变得糟糕。

+0

IntentService的实现非常简单 - 我只是实现我自己的。 – Ralf 2012-04-02 14:47:48