Android:队列服务调用

时间:2016-09-28 09:30:21

标签: java android service android-service

我想在不同的事件上运行名为 SyncService 的服务,例如 NetworkChange GpsChange AppOpenedByUser DeviceBoot OnNewSmsReceived

它有多个网络呼叫。如果同时发生多个事件,或者在上一次调用运行时发生了1个事件,则再次调用该服务。我希望只有当函数当前没有运行时才会发生调用。如果它已经在运行,我希望服务等待上一次执行完成。

1 个答案:

答案 0 :(得分:0)

每次尝试星标服务时,Intent都会被发送到onStartCommandMethod。你可以使用' Command'设计模式 - 从intent创建命令并将其添加到某个命令队列中。当前命令完成后,检查队列中是否有其他命令并执行另一个命令。它不是,停止服务。请注意,与IntentService相比,您应该明确地在后台运行它。