2016-09-28 37 views
0

我想運行服務要求不同的事件SyncServiceNetworkChangeGpsChangeAppOpenedByUserDeviceBootOnNewSmsReceived安卓:隊列服務調用

它有多個網絡電話。如果同時發生超過1個事件,或者如果在上次調用運行時發生了1個事件,則會再次調用該服務。我希望只有當函數當前沒有運行時纔會發生調用。如果它已經在運行,我希望服務等待以前的執行完成。

回答

0

每次嘗試星號服務時,Intent都會傳遞給onStartCommandMethod。您可以使用'命令'設計模式 - 從意圖創建命令並將其添加到某個命令隊列中。當前命令完成後,檢查隊列中是否有其他命令並執行另一個命令。它不是,停止服務。注意,與IntentService相比,您應該明確地在後臺運行它。