Я пишу приложение, которое выполняет несколько загрузок данных JSON из нескольких источников. Каждая загрузка выполняется асинхронно с помощью метода обратного вызова.Как обрабатывать несколько асинхронных внутри IntentService
Моя идея - использовать IntentService, так как я хочу, чтобы вся обработка данных выполнялась в одном потоке и одновременно вызывала все асинхронные загрузки. Но так как IntentService останавливается после завершения работы onHandleIntent, не будет, как я могу заставить его ждать завершения всех асинхронных загрузок? Это как мой метод onHandleIntent будет выглядеть
@Override
protected void onHandleIntent(Intent intent) {
asyncTaskAWithCallback{
//some handling of data
}
asyncTaskBWithCallback{
//some handling of data
}
...
asyncTaskNWithCallback{
//some handling of data
}
//Some code to wait for all callbacks to finish?
}
Я бы рекомендовал вам создать собственную 'Сервис' с вашим собственным управлением потоками, где вы сможете лучше реализовать свои собственные правила. – CommonsWare