Это звучит как то, для чего Android Услуги идеально подходят. Они запускаются в фоновом режиме и предназначены именно для этого.
По сути, вы просто создаете подкласс службы и записываете в него свою загрузочную логику c. После завершения загрузки вы можете, в зависимости от того, как вы создали свою службу, уведомить ваше приложение о результате. Если служба была связана, вы можете иметь действие, связанное со службой, зарегистрировать слушателя. Если служба была запущена (Android термин для запуска без явного связанного получателя), вы можете запустить намерение, указывающее на завершение задачи.