Android offer a DownloadManager from API 9 onwards and documentation says
The download manager will conduct the download in the background, taking care of HTTP interactions and retrying downloads after failures or across connectivity changes and system reboots.
Around 4% of devices (04-Apr-2013) run Android 2.2 (API 8) so is there any library or backport of DownloadManager which can retrying downloads after failures or across connectivity changes and system reboots for Android 2.2.